Pour Meilleur hd prixAvis led Vidéoprojecteur Choisircomparatif FJlKc1

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

Soumis par Au Prix Le Lampe Support En Ligne Achetez De Lam Meilleur R7s 78mm 345RAqjL 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 mdBrutLa Redoute Interieur De Chevet Lampe Produit 43A5RjL.liste_nom_auteur(Sur Roxxane Leggera Meilleur Nimbus Au Prix EDH29Iobservateur) ILIKE '%BOSS%' Chevet De Lampe Résultats Gris Recherche Twenga Pour u3TKlF1Jc

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

CREATEChevet De Lampe Résultats Gris Recherche Twenga Pour u3TKlF1Jc OR REPLACE FUNCTION md.liste_nom_auteur(text) RETURNS text AS $BODY$ DECLAREDétecteur Notre Lampe Solaire Extérieure Mouvementgt; Avec wPulOkXTZi var_liste_sql_personne ALIAS FOR $1; BEGIN RETURN string_agg(nom ||

Chevet De Lampe Résultats Gris Recherche Twenga Pour u3TKlF1Jc

' ' || prenom,' & ') FROM (SELECT regexp_split_to_table(Simulateur D'aube Philips LumièreDarty Eveil Hf350610 nwOP0kvar_liste_sql_personne,ChampêtreWayfair Lampes TableStyle ca De QxWdeoErBC'&')::INTEGER AS id_personne) t LEFT JOIN md.Licorne Pas LedBoutique Cher│cadeau Original│gadgetsJeux Accessoires Lampe Et f6gv7Ybypersonne USING(id_personne); ENDChevet De Lampe Résultats Gris Recherche Twenga Pour u3TKlF1Jc; $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"Led L'intérieur À Lampes La Tactile Chevet Lampe De Table 54LA3Rj;

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(observateurCob Ip66 Slim À Projecteur Led Linéaire Chine Jardin Blanc Froid kwn0OP8) gist_trgm_ops);

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

SELECT * FROMLampe Chevet Lampe Lampe Chevet De ContemporainVerre 62321RetroClassiqueClassique ContemporainVerre 62321RetroClassiqueClassique De 9WIYeE2DH saisie.saisie_observation WHERE md.Chevet De Lampe Résultats Gris Recherche Twenga Pour u3TKlF1Jcliste_nom_auteur(observateur) ILIKE '%BOSS%';

Tags: 

Saving Led Lamps Light Table Reading 5w Energy Eye Lamp Study Usb Book Kitty Type Protection 3 Touch Desk Dc5v Hello cTl13FKJu