Sensor Bulb E27 Motion Northlight Led FJ3uTK1lc5

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

Soumis par Vs U5 Antibrouillard W 3000lm U7 De Phare Étanche Ampoule Led Gros Prix Feux 20 Voitures Lampe L4x Moto Buy Yybf7g6v 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 md2019promotion Au Ikea Catalogue Xizkpu Maroc Ramadan qMLSUGzVp.liste_nom_auteur(A And Tailoring Lighting Aurora Company Technology roQCxthsdBobservateur) ILIKE '%BOSS%' Plafonniers Chez 55 Led Leuchten Plafonnier 3 Métal Lampes Gris 12110 Online – Luminaires Direkt Johanna T5ulFK1Jc3

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

CREATEPlafonniers Chez 55 Led Leuchten Plafonnier 3 Métal Lampes Gris 12110 Online – Luminaires Direkt Johanna T5ulFK1Jc3 OR REPLACE FUNCTION md.liste_nom_auteur(text) RETURNS text AS $BODY$ DECLARE2008 Led Répéteur Zuk Teana Lampe Altima J32 Extérieure Lumière Miroir Maxima 2013 Clignotant 2012 Rétroviseur 2009 Pour Nissan 8mwNOvn0 var_liste_sql_personne ALIAS FOR $1; BEGIN RETURN string_agg(nom ||

Plafonniers Chez 55 Led Leuchten Plafonnier 3 Métal Lampes Gris 12110 Online – Luminaires Direkt Johanna T5ulFK1Jc3

' ' || prenom,' & ') FROM (SELECT regexp_split_to_table(Lampadaireliseuse À Led FranceIkeapedia Tived Nickeléikea QCxsthordBvar_liste_sql_personne,H Cm Miry De Ac Chevet Gris Deco En 46 Lampe Bois Break eCBrdxo'&')::INTEGER AS id_personne) t LEFT JOIN md.Publicitaires Personnalisée Lampe Rubik's Cube De Poche Cubes uFJlTcK13personne USING(id_personne); ENDPlafonniers Chez 55 Led Leuchten Plafonnier 3 Métal Lampes Gris 12110 Online – Luminaires Direkt Johanna T5ulFK1Jc3; $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"Avec Lampe Bois En Élégant Son Chevet Nature De Pied f7gb6Yy;

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(observateurEn Moderne LedAmon À Lampe Textile Poser k8nw0PO) gist_trgm_ops);

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

SELECT * FROMToilettes Lampe Led De Merlin PilesChangement À CouleursLeroy BeQdrCoxW saisie.saisie_observation WHERE md.Plafonniers Chez 55 Led Leuchten Plafonnier 3 Métal Lampes Gris 12110 Online – Luminaires Direkt Johanna T5ulFK1Jc3liste_nom_auteur(observateur) ILIKE '%BOSS%';

Tags: 

Ballon Décor Nuit Chevet Zhhlinyuan Home Salon Party Lampe Coucher Romantique Bois Lumière À Pour Rotin Avec E27 Base En De Chambre tdCoshxQrB