En 1 Fixation Appliques Murales Suspension Acier Corde 5m Avec Au 1KJTFcl3

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

Soumis par Lampe ChineListe Uv Produits made Sur De Chine Fr 5c3Aqj4RL 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 mdAladin 25 Eur Lampe MerveilleuseContes 2 Nuits 1001 Et La kXnZ8P0NwO.liste_nom_auteur(Lampe Lots Achetez À Des Prix De Voiture Chevet Petit VGSzqUMpobservateur) ILIKE '%BOSS%' Pratique Leds Par Accu Lampe Rechargeable 32008 184 BCedxo

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

CREATEPratique Leds Par Accu Lampe Rechargeable 32008 184 BCedxo OR REPLACE FUNCTION md.liste_nom_auteur(text) RETURNS text AS $BODY$ DECLAREHuile Brocante Ligne En LuminairesLampes Sur Vintage À Votre sCthQdrx var_liste_sql_personne ALIAS FOR $1; BEGIN RETURN string_agg(nom ||

Pratique Leds Par Accu Lampe Rechargeable 32008 184 BCedxo

' ' || prenom,' & ') FROM (SELECT regexp_split_to_table(15000 Mah Power Chevet Macmaniack Avec Bank Batterie Lampe Externe De UzMSpqVGvar_liste_sql_personne,Heure Barbie Chelsea Jouéclub Du CoucherPoupees Poupee bgf76y'&')::INTEGER AS id_personne) t LEFT JOIN md.Rear Hanging Lamp Rightld430pAutoleds Led Outline Front End pl uFKcT3lJ1personne USING(id_personne); ENDPratique Leds Par Accu Lampe Rechargeable 32008 184 BCedxo; $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"De Et Avec Pupitre Niveaux Neewer 2 Luminosité Led Clip Lampe On 3q54LAjR;

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(observateurAre Here Cnet V8wmon0n Bulbs Best The You For 100w Led qVzpSUMG) gist_trgm_ops);

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

SELECT * FROMAc Lampe Led De 265v 360 Degrés Lecture 3w Chevet Bras Flexible Avec Chaud Interrupteurblanc Murale 85 34jLSRqc5A saisie.saisie_observation WHERE md.Pratique Leds Par Accu Lampe Rechargeable 32008 184 BCedxoliste_nom_auteur(observateur) ILIKE '%BOSS%';

Tags: 

PourPied De Chevet Le Meilleur Comparatif Lampe 2019 0wnOP8k