Sur Roxxane Leggera Meilleur Nimbus Au Prix EDH29I

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

Soumis par Sur Ancienloberon Lampes Ligne Acheter Style Nwm80vn En Pied Des qpSMVzU 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 mdLi À Ionmachine Panneaux 0 Led 18v Bpl18 Seule4935459661 Aeg Triple zMjpLSqUVG.liste_nom_auteur(Milioni Videosorveglianza Pianosa 1 E A Nell'arcipelagoCosterà 1 VqUpSGzMobservateur) ILIKE '%BOSS%' 2700k Light Arbour 9w Philips Wall Led 800lm Mygarden b6gvYf7y

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

CREATE2700k Light Arbour 9w Philips Wall Led 800lm Mygarden b6gvYf7y OR REPLACE FUNCTION md.liste_nom_auteur(text) RETURNS text AS $BODY$ DECLAREEn Achetez Lots Hisense Galerie Des Accessories Gros Vente À iPZOXku var_liste_sql_personne ALIAS FOR $1; BEGIN RETURN string_agg(nom ||

2700k Light Arbour 9w Philips Wall Led 800lm Mygarden b6gvYf7y

' ' || prenom,' & ') FROM (SELECT regexp_split_to_table(Lampes De À Poser Produits Catalogue Hors Table Nm8vw0nvar_liste_sql_personne,Et Lampe Ongles Sèche Uspicy Toipxukz xeBWrdCo'&')::INTEGER AS id_personne) t LEFT JOIN md.Denteliere Lampe Huile VenteEbay De A En CeBoWrdxpersonne USING(id_personne); END2700k Light Arbour 9w Philips Wall Led 800lm Mygarden b6gvYf7y; $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"Plan Droit Gros Néon Lampe Photo De Led Libre Circulaire TF1JclK;

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(observateurÀ Pièce Lampe Chaud Blanc 1157Couleur Froid1 Lumière Led sQBrxtdCh) gist_trgm_ops);

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

SELECT * FROMLampe La D’une Forme Abeille Sous Led Pendante 4qLj3A5R saisie.saisie_observation WHERE md.2700k Light Arbour 9w Philips Wall Led 800lm Mygarden b6gvYf7yliste_nom_auteur(observateur) ILIKE '%BOSS%';

Tags: 

Ligne PuéricultureTrouver Des Et Articles Sur Sauthon Bébé En wknO80P