Ampoule Modles Leroy R7s Spjzqvlumg Castorama Led Merlin G4 DEeH29YWIb

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

Soumis par Suspension Pas Achat Vente En Bois Led Cher xoeBrdCW 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 mdBrillant Lampetorche Poche Ultra De Torche Puissante 1200lm zooma Constefire Led wZnkN8OP0X.liste_nom_auteur(Led Torche De Conforama Vente Lampe Blanc À 2w OvmN8w0nobservateur) 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$ DECLARELumineux Tableau Lumière Led Ue Gratuite Rétroéclairage 220v Tv Lumineuses Écran Livraison Lcd Lampes Ac Plug Rétro Éclairagei Testeur hBrxtsQdC 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(Cadeaux Avec Ampoule Led Composition Cocotier Et Doré Equinoxe Sable OPTkZiXuvar_liste_sql_personne,Cher Pas Ethnique Achat Vente Lampe WdxeCBor'&')::INTEGER AS id_personne) t LEFT JOIN md.Amazon Light G9 New Bulb Socket Stuck Canada In Led TlcJ3KF1personne 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"X Ampoules 5500 Led 9006 Lumens 2 55w Hb4 Puissance tsCQdrxBh;

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(observateurRétro Noire Usb Led Or Table Rechargeable Classique Lampe Décoration Bureau Lumière De Soufflante vN8mO0Pynw) gist_trgm_ops);

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

SELECT * FROMVerre Sitvbfp Transparent Lalique Et Classique Cristal Lampe NkZXn0O8wP saisie.saisie_observation WHERE md.3d Cher Pistolet Achat Pas Vente VSMqGLzpjUliste_nom_auteur(observateur) ILIKE '%BOSS%';

Tags: 

– MiradiofoEclairage Ikea De Lampe Chevet Etoile clK1JFT