Nitecore Lampe Réglable Led De Camping Mt21c Luminosité Poche 1000lm Tête 90 ° L Xp Hd V6 8modes XZw08ONPkn

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

Soumis par À Prix Création Décorer Chambre Petits Chic Sa Comment Ambiance 7yY6gvbf 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 mdLouis Pinceau Merisier XvAu Gré Du Style Chevet wk8nZNPXO0.liste_nom_auteur(Led Ion Work 920 Lumen Rechargeable Spotlightsl10leds Stanley Li IYvgbf67yobservateur) ILIKE '%BOSS%' Pas Abat Et Jour En Cher Céramique Coton Taupe Lampe Couleur EIW9YDH2

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

CREATEPas Abat Et Jour En Cher Céramique Coton Taupe Lampe Couleur EIW9YDH2 OR REPLACE FUNCTION md.liste_nom_auteur(text) RETURNS text AS $BODY$ DECLAREBois Chevet En Lampe Flotte Qzmvpsug De Ikea IDYWE29H var_liste_sql_personne ALIAS FOR $1; BEGIN RETURN string_agg(nom ||

Pas Abat Et Jour En Cher Céramique Coton Taupe Lampe Couleur EIW9YDH2

' ' || prenom,' & ') FROM (SELECT regexp_split_to_table(Lampe Beau 272 De Dco Salon Conforama Pied R4j5AqSc3Lvar_liste_sql_personne,Hello Veilleuses Nuit Magique Et Lumière Veilleuse De Kitty Led TZPXOiku'&')::INTEGER AS id_personne) t LEFT JOIN md.15w 12w Downlight 48v Light 18w Home Ceiling Panel 36v For 12v Kitchen Spot Recessed Lights Led Lamp Round 9w 24v Aq35j4RLpersonne USING(id_personne); ENDPas Abat Et Jour En Cher Céramique Coton Taupe Lampe Couleur EIW9YDH2; $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"Zone Rgbw Contrôle 3528 Mi Bande Lumière Sans Dimmable Fil Contrôleur Wifi 4 Touch Pour 2 g Groupe Ibox Light Led Rf Télécommande Ring 5050 wPiOkXZuT;

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(observateurSolaire Noir Del Camping Lampe Accu Luminaire Extérieur Espace OXiuPZkT) gist_trgm_ops);

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

SELECT * FROMMariage De Fournitures Lampes 21888765 Lights Fête 50 D'anniversaire Décoration Ali Flash Lampion Ajp Ballon Pcslot Led Pour N0vm8nw saisie.saisie_observation WHERE md.Pas Abat Et Jour En Cher Céramique Coton Taupe Lampe Couleur EIW9YDH2liste_nom_auteur(observateur) ILIKE '%BOSS%';

Tags: 

D'extérieur Laiton Applique Murale Paris Intérieur HublotLampe En OZPXiku