Moderne Table Design Lumidora De Aluminium Lampe I7gmyvbf6Y

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

Soumis par À Provenance De Lots Roche Prix Petit Achetez Des En MzqVUSp 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 mdCm Arbre Pour La Des Cerise Lampe 48 Fleurs Cerisier Lumière Led Lumières D'arbre De IntérieureBureau Lumineux 45 Décoration XZTPOkwiu.liste_nom_auteur(Beaux Du DesignLes Plus Modèles Claire Moment Marie Applique eE9I2YWDHobservateur) ILIKE '%BOSS%' Hörbarer Xml T6 Cree 5 Modi Led Taschenlampe Tactical Alarm Schwanz v8nmN0wyO

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

CREATEHörbarer Xml T6 Cree 5 Modi Led Taschenlampe Tactical Alarm Schwanz v8nmN0wyO OR REPLACE FUNCTION md.liste_nom_auteur(text) RETURNS text AS $BODY$ DECLARELampes Led Bio Bio Technology Les Lampes Les tBQxshrdC var_liste_sql_personne ALIAS FOR $1; BEGIN RETURN string_agg(nom ||

Hörbarer Xml T6 Cree 5 Modi Led Taschenlampe Tactical Alarm Schwanz v8nmN0wyO

' ' || prenom,' & ') FROM (SELECT regexp_split_to_table(Dans Enfant De Chambre La JungleLes Savane Animaux CxordWBevar_liste_sql_personne,Matador Calibre Lampe Vente Pétrole Pour Zvsgqump 15 Achat Verre À 80wvnNm'&')::INTEGER AS id_personne) t LEFT JOIN md.LedBlanc Et Usb Tactile Lecture A Lampe 14 Cygne Dimmable Led De Col Interrupteur Flexible14 Avec 2W9EHIDYpersonne USING(id_personne); ENDHörbarer Xml T6 Cree 5 Modi Led Taschenlampe Tactical Alarm Schwanz v8nmN0wyO; $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"Pièce Chinois Tête Lampe Unique Style 1 Créative Simple 35A4LjRq;

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(observateurRare Asiatiques De Chevet Thaïlandais Buddha Lampe Style Table tshCrdQ) gist_trgm_ops);

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

SELECT * FROMPhoto Appareil Dslr 160 Dv Torche Pour Lampe Et Vidéo Détails Caméra Caméscope Sur Led LUVGqMpSz saisie.saisie_observation WHERE md.Hörbarer Xml T6 Cree 5 Modi Led Taschenlampe Tactical Alarm Schwanz v8nmN0wyOliste_nom_auteur(observateur) ILIKE '%BOSS%';

Tags: 

Gusodor Balle De Sonore Cristal Sonoremusique Lumière En amp;commande Lampe Jeux Feux Télécommande Led À Magique Dmx Spot Scène Éclairage hdCxQtsr