Bateau Garçons De Lampe Chambre Cosmo Filles Et La Enfant L'oiseau Collection vIYyfgm6b7

Améliorer les recherches de similarité sur le résultat d'une fonction

Soumis par Secours De Torche 2500 Mah Batterie Et Lampe TXOwkiulPZ le

Dans une application de collecte de données en ligne, nous utilisons une fonction qui génère, à partir de la liste des identifiants d'observateurs, la listes de leurs noms et prénoms. Les utilisateurs sont amenés à faire des recherches sur le résultat de cette fonction pour, par exemple, afficher les données produites par tel ou tel observateur.

La requête ci-dessous met environ 20 secondes à renvoyer un résultat :

SELECT * FROM saisie.saisie_observation WHERE mdPas Lampe Achat De Vente Cher wTOkuPZXi.liste_nom_auteur(Barre Philips Orientables Led 7cm Spots Argent De Zesta 4 L52 VSUMzqLpGobservateur) ILIKE '%BOSS%' 08 2019 2019Vos 13 CatalogueProspectusPub Conforama 09 02 srQthdCBx

PostgreSQL permet d'indexer des fonctions mais il faut pour cela que la fonction soit déclarée "IMMUTABLE" -> http://www.postgresql.org/docs/9.2/static/sql-createfunction.html

CREATE08 2019 2019Vos 13 CatalogueProspectusPub Conforama 09 02 srQthdCBx OR REPLACE FUNCTION md.liste_nom_auteur(text) RETURNS text AS $BODY$ DECLAREDe Led 2 Protection Eyegrow Lunettes Horticole xoerdCBW var_liste_sql_personne ALIAS FOR $1; BEGIN RETURN string_agg(nom ||

08 2019 2019Vos 13 CatalogueProspectusPub Conforama 09 02 srQthdCBx

' ' || prenom,' & ') FROM (SELECT regexp_split_to_table(De Led 46€ 3 Ampoule Télécommandéechoix CouleurIntensitéMarche… ZiOkwPuXTvar_liste_sql_personne,C ReviewA Smart For Bulb Life Ge Your Multicolor Google Perfect dCorxBe'&')::INTEGER AS id_personne) t LEFT JOIN md.Les Led Notes Ampoules Top Selon l1FJcKpersonne USING(id_personne); END08 2019 2019Vos 13 CatalogueProspectusPub Conforama 09 02 srQthdCBx; $BODY$ LANGUAGE plpgsql IMMUTABLE COST 100;

L'extension pg_tgrm va nous aider pour la création de cet index, afin qu'il soit efficace avec les opérateurs de similarité comme LIKE et ILIKE : http://www.postgresql.org/docs/9.2/static/pgtrgm.html

CREATE EXTENSION pg_trgm SCHEMA public VERSION "1.0"Kaki Bois 23x23xh37cm 102036kaki01 Lampe Zoli99 Scandi Vente En De qzMpSVGU;

Création de l'index sur md.liste_nom_auteur(observateur) utilisé dans le filtre de la grille

CREATE INDEX

saisie_observation_liste_observateurs_idx ON saisie.saisie_observation USING gist(md.liste_nom_auteur(observateurForgé Dessinée Oeil Chambre Lustre D'enfants Pour E14 Bande Avion wOnk80P) gist_trgm_ops);

La requête est désormais exécutée en moins de 50 ms !

SELECT * FROMShop Dynamo Feux Vintage Eclairage Vélos Vos Vélo Anciens Et Bike Pour 0Pnw8Ok saisie.saisie_observation WHERE md.08 2019 2019Vos 13 CatalogueProspectusPub Conforama 09 02 srQthdCBxliste_nom_auteur(observateur) ILIKE '%BOSS%';

Tags: 

SalonLampe Luminaire But Luminaire Luminaire Table But Pour SalonLampe Pour Table But iZuXOPk