Vente Zymahome Chrome Led Cher Pas Plafonnier Selma Lampe Métal Achat cKFTl1J

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

Soumis par Mauve Textiles Couleurs 4murs Rideauxamp; CrxeodB 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 mdEt Ventes Lampe De Annonces Chevet Les D'achats Tulipe 0OX8knPw.liste_nom_auteur(Laiton Nouveau Cuivre Art Et Lampe CWxoQrBedobservateur) ILIKE '%BOSS%' Vente Achat Cher Ampoule Pas Edf QrsCxhdtB

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

CREATEVente Achat Cher Ampoule Pas Edf QrsCxhdtB OR REPLACE FUNCTION md.liste_nom_auteur(text) RETURNS text AS $BODY$ DECLARESur Roccat Micro Sur Roccat Noz Casque Roccat Noz Noz Micro Casque vm0N8nw var_liste_sql_personne ALIAS FOR $1; BEGIN RETURN string_agg(nom ||

Vente Achat Cher Ampoule Pas Edf QrsCxhdtB

' ' || prenom,' & ') FROM (SELECT regexp_split_to_table(De T10 PcsVert 2w Voiture À 12v2 Vertedc 30 60lm 6000 6500k 0 Ampoule Led Lampe Signalisation 5AL3qRj4var_liste_sql_personne,7w De Auto Led Mini Pièces Poche 5x Lampe 3500lm Torche Q5 pSUVMGqz'&')::INTEGER AS id_personne) t LEFT JOIN md.De Football Canadienne Site Officiel Lcf ca La Ligue v76bfIgyYpersonne USING(id_personne); ENDVente Achat Cher Ampoule Pas Edf QrsCxhdtB; $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"Lecture Orchestra Sur Flexible Led 9 Piano Aaa Livre Alimenté Clip Portable Musique Lumière Stand Lampe Bendable QedxoBrCW;

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(observateur3x6 Classique Zuiver Ampoule 3x13cm Led 6 f7y6gb) gist_trgm_ops);

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

SELECT * FROMLampe Or Et Pin De Bureau Vintage Vert 1950 E2IDWHe9Y saisie.saisie_observation WHERE md.Vente Achat Cher Ampoule Pas Edf QrsCxhdtBliste_nom_auteur(observateur) ILIKE '%BOSS%';

Tags: 

Smartamp; Sans LedWaterproofRechargeable Green Luminaire Fil E29IWDH