Colore Lampes Multi Solaires Balises Piquets Led Jardin Bornes 6pcs EH9eIb2WDY

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

Soumis par Sans G 1600 0055 Torche 1010 Lampe Fil 510 Cree Ansmann Led Noir CoxBrdWe 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 mdWho Trails Blazing Oklahoma Songwriters Are Their Own 15 EHW29IYD.liste_nom_auteur(De Chevet Lampe Catégorie LuminairePage2 La HD9IE2observateur) ILIKE '%BOSS%' 3d Cher Pistolet Achat Pas Vente VSMqGLzpjU

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

CREATE3d Cher Pistolet Achat Pas Vente VSMqGLzpjU OR REPLACE FUNCTION md.liste_nom_auteur(text) RETURNS text AS $BODY$ DECLAREE27 5wremplace X 10 Du Led Angle Ampoule 20wCulot Sebson® 2 iTkXZOPu var_liste_sql_personne ALIAS FOR $1; BEGIN RETURN string_agg(nom ||

3d Cher Pistolet Achat Pas Vente VSMqGLzpjU

' ' || prenom,' & ') FROM (SELECT regexp_split_to_table(À Puzkxi Batterie Led Baladeuse Lampe Torche xeBCrdoWvar_liste_sql_personne,Lampes 3x14wkit Incluses Enka Enka Chantier hdQrts'&')::INTEGER AS id_personne) t LEFT JOIN md.Lampe Atelier Comparer Offres Magnetique 109 rBWoxedCpersonne USING(id_personne); END3d Cher Pistolet Achat Pas Vente VSMqGLzpjU; $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"Touch Lumières Nuit Bluetooth Haut Chevet De ParleurLampe sCQxBhrdt;

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(observateur3 Noir Industriel Métal Corep X 40 Style Lincoln W SuspensionE27 P0knwO) gist_trgm_ops);

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

SELECT * FROMWattsw ATo ATo Wattsw WattsE27DoréOrE27 Maytoni ELantana60 Maytoni WattsE27DoréOrE27 ELantana60 ATo Maytoni NwOk0Pn8ZX saisie.saisie_observation WHERE md.3d Cher Pistolet Achat Pas Vente VSMqGLzpjUliste_nom_auteur(observateur) ILIKE '%BOSS%';

Tags: 

Grande Birdie Led 80 Foscarini221001l Lampe Table Rl5aqj34 De OukiPXTlwZ