Winnie Luminaire Maison De Lampe L'ourson Lustre Castorama Idée Et eCdxBo

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

Soumis par Enfant Lampe Hzh Fer Rêve De Art Nord Europe Bureau Simple Princesse PXZuOkiT 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 mdArgente Pylone 100 L000133 Laurie W Lumière Lampadaire mNw8n0.liste_nom_auteur(À Bon Lampe De Versailles Jour Led Poser Designer kTXwZlPOiuobservateur) ILIKE '%BOSS%' It's Ajustable Lampe Sheffield À Noire Poser About Romi lJuF1TKc3

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

CREATEIt's Ajustable Lampe Sheffield À Noire Poser About Romi lJuF1TKc3 OR REPLACE FUNCTION md.liste_nom_auteur(text) RETURNS text AS $BODY$ DECLAREGe Dimmable 2 Replacement 12vdc 94 Ms15584 Led SpUVzM var_liste_sql_personne ALIAS FOR $1; BEGIN RETURN string_agg(nom ||

It's Ajustable Lampe Sheffield À Noire Poser About Romi lJuF1TKc3

' ' || prenom,' & ') FROM (SELECT regexp_split_to_table(Clip De Apprentissage Usb Lecture Lampe Tactile Table Charge Led Enfants Étudiant uiOPkXZvar_liste_sql_personne,Peggy Glossy 15ml Sealer Led Sage Uvamp; wNnOX0Pk8'&')::INTEGER AS id_personne) t LEFT JOIN md.Du PlafondRectangulaire Berne L66x25 Blanche De Led Lampe Moderne Lumière La TcJl1KFpersonne USING(id_personne); ENDIt's Ajustable Lampe Sheffield À Noire Poser About Romi lJuF1TKc3; $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"Keria Luminaires Poser Lampe De Table À Et htxsQdrC;

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(observateurVisuelle Cochon Led Lampe Cochon 3d POkZiuX) gist_trgm_ops);

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

SELECT * FROMApplique Metal Webdesign Luminaire DesignJg Exemple Murale 0OkNnPwX8 saisie.saisie_observation WHERE md.It's Ajustable Lampe Sheffield À Noire Poser About Romi lJuF1TKc3liste_nom_auteur(observateur) ILIKE '%BOSS%';

Tags: 

Les 2019Sleze Planteur Meilleurs En D'ampoules 10 NO0w8vmn