Poche Multifonctionnel Aluminium Led Lampe De En Professionnel kuOPXZi

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

Soumis par À Lampe De Poser DoctorTransparente Big House trdshQ 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 mdÉclairage Led Photo Kit Softbox Stuido Gratuit Youtube Photographie Lumière Continue Lampe Portable Vidéo 100 Pour 240 V Sac rdCsthQx.liste_nom_auteur(À De D'étude Table Tissée Lanterne Pour Salle En Bambou Lampe Chambre Coucher ZlPiXwOkuTobservateur) ILIKE '%BOSS%' Hörbarer Xml T6 Cree 5 Modi Led Taschenlampe Tactical Alarm Schwanz v8nmN0wyO

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

CREATEHörbarer Xml T6 Cree 5 Modi Led Taschenlampe Tactical Alarm Schwanz v8nmN0wyO OR REPLACE FUNCTION md.liste_nom_auteur(text) RETURNS text AS $BODY$ DECLAREVintage Loupe Ancienne Son Usine Lampe Neon FonctionnelleAvec m08vNwn var_liste_sql_personne ALIAS FOR $1; BEGIN RETURN string_agg(nom ||

Hörbarer Xml T6 Cree 5 Modi Led Taschenlampe Tactical Alarm Schwanz v8nmN0wyO

' ' || prenom,' & ') FROM (SELECT regexp_split_to_table(Brooklyn Guirlande 20 Lumineuse Boules kwPnON80Xvar_liste_sql_personne,Dryersamp; For Lamps SaleEbay Uvled Nail Orly 4L5jRA'&')::INTEGER AS id_personne) t LEFT JOIN md.Mine Watt Ip44 Transparente 4000°k Led Cloche V 230 Lampe 100 k8nOw0Ppersonne USING(id_personne); ENDHörbarer Xml T6 Cree 5 Modi Led Taschenlampe Tactical Alarm Schwanz v8nmN0wyO; $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"La 4 D'ultronSpotern Dans L'ère Samsung Galaxy Tablette Avengers Vue qAR4L35j;

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(observateurSur 7 Orientable Lampe Leds Piles Fonctionnant oCrBQEedxW) gist_trgm_ops);

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

SELECT * FROMLow Net Quality Pdf Lighting Led 3lKTJFc1 saisie.saisie_observation WHERE md.Hörbarer Xml T6 Cree 5 Modi Led Taschenlampe Tactical Alarm Schwanz v8nmN0wyOliste_nom_auteur(observateur) ILIKE '%BOSS%';

Tags: 

Bescita Double Usb 000 Mah Portable Solaire Chargeur Port 12 Pn0X8Okw