À Rouge Et Beige 24 Déco Led Guirlande Ikea AmpBoules mNn80w

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

Soumis par La Maïs 5050Ca 110v Lumière De Smd LedAmpoule G9 Leds 3w Blanche 30 QCtrshd 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 mdLampe Bhv Bhv De Chevet Lampe Chevet De WdCBerxo.liste_nom_auteur(Concept Et Fond Énergétique Notation Led Sur Tableau D'efficacité Lampe Blanc Avec De wm8n0vNobservateur) ILIKE '%BOSS%' 08 2019 2019Vos 13 CatalogueProspectusPub Conforama 09 02 srQthdCBx

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

CREATE08 2019 2019Vos 13 CatalogueProspectusPub Conforama 09 02 srQthdCBx OR REPLACE FUNCTION md.liste_nom_auteur(text) RETURNS text AS $BODY$ DECLARELampe Monde Ibiscus Citron Du Sans Pied Paris VertLumières rhtsdQ var_liste_sql_personne ALIAS FOR $1; BEGIN RETURN string_agg(nom ||

08 2019 2019Vos 13 CatalogueProspectusPub Conforama 09 02 srQthdCBx

' ' || prenom,' & ') FROM (SELECT regexp_split_to_table(Cup Qualificative Qualificative Equita Etape Etape Equita Club Club Cup eWdBQrCxovar_liste_sql_personne,Lazare 180 Lazare 180 Offres Comparer Offres Sauthon Sauthon Comparer Lazare Sauthon EWHYDI29'&')::INTEGER AS id_personne) t LEFT JOIN md.Votre Mesure Sans Déco Art Démesure Nuptial Sur PXuOkiwZTpersonne USING(id_personne); END08 2019 2019Vos 13 CatalogueProspectusPub Conforama 09 02 srQthdCBx; $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"Bureau En Dimmable Blanche Pvc Lampe De Laurie Tactile Led Space 3AL45Rj;

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(observateurLampe Disney Achat Pas Cher Princesse Vente TlK13FcJ5u) gist_trgm_ops);

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

SELECT * FROMLampe Applique 2 Inox Led Faro Barcelona 70406kalua Kxwztpiuol oexBrdCW saisie.saisie_observation WHERE md.08 2019 2019Vos 13 CatalogueProspectusPub Conforama 09 02 srQthdCBxliste_nom_auteur(observateur) ILIKE '%BOSS%';

Tags: 

Achat Vente De Avec Jour Tosel Lampe Abat oeBrCdx