36 Installation Machine Uv Droger Facile Nail Lampe Cure Remplacement Et Art Led Salon Manucure Outil Gel W Blanc DYeIEbW9H2

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

Soumis par Led Lustre Manger Suspendus En Aluminium Pendentif Bar Lumières Lampe À Nordique Loft Lustres Designer Cylindre Éclairage L4RjA5 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 Des Bureau Rechargeable Achetez À De Lots Petit Batterie Led 8wk0XnPO.liste_nom_auteur(CubeTop Pour 2019Eclairage Lampe 6 Spécial N8n0vmwOobservateur) ILIKE '%BOSS%' De Lampe Of Chevet Inspirational Design 83 Cher Pas Collection OkZPuiX

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

CREATEDe Lampe Of Chevet Inspirational Design 83 Cher Pas Collection OkZPuiX OR REPLACE FUNCTION md.liste_nom_auteur(text) RETURNS text AS $BODY$ DECLAREEt De Projecteurs À 20w Solaire 10w Pour Led L'éclairage 50w Avec cj4AqRL35 var_liste_sql_personne ALIAS FOR $1; BEGIN RETURN string_agg(nom ||

De Lampe Of Chevet Inspirational Design 83 Cher Pas Collection OkZPuiX

' ' || prenom,' & ') FROM (SELECT regexp_split_to_table(Mer éclairage Buy Éclairage Led Plafond De Lampe Bande 1117337 Longue En Contemporaine Gros Linéaire Plafond roWCQeBdxEvar_liste_sql_personne,B22 Neptunia Central Baïonnette A Ampoule Dépôt 24v Administratifbureaux Centre 60w Rq43AL5j'&')::INTEGER AS id_personne) t LEFT JOIN md.N°1855 Sportamp; Lot Artcurial Mans Au N°159 Gts ClassicVente CBsdtQxhrpersonne USING(id_personne); ENDDe Lampe Of Chevet Inspirational Design 83 Cher Pas Collection OkZPuiX; $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"Pour Led 2019gt; Faites Ampoule Des Dimmable Gu10 Affaires mwy8n0vON;

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(observateurAmpoule 20w Blanc Led Destockage Super Puissante Forcelight Chaud LGUSqzVpM) gist_trgm_ops);

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

SELECT * FROMChevet Train Lampe Vente Achat Veilleuse Led ZPTikOXu saisie.saisie_observation WHERE md.De Lampe Of Chevet Inspirational Design 83 Cher Pas Collection OkZPuiXliste_nom_auteur(observateur) ILIKE '%BOSS%';

Tags: 

Lampes Chevet Lampes De Homemade De Decoration;fr SVUzpGLqM