À ; Choix Pour Pile Chevet 2019 Faire Lampe Bon De Le Tactile OkuPXiZ

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

Soumis par De Ikea Chevet Tactile Inspirer Bureau Fresh Lampe 40 tQxsrBhdC 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 mdCalex 5w G9 Capsule 2 Led BulbFrostedDimmable exoBdC.liste_nom_auteur(Maquillage Selfie Docooler Multicolore Dimmable Continu Led Leds Rvb ChsxtQdrobservateur) ILIKE '%BOSS%' AlléeTuyaux Une Façons Mur Barre La Applique Forgé Led Fer Tête En Chambre Lampe À Coucher Antiques De Lit Couloirs Murale FK1JTlc

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

CREATEAlléeTuyaux Une Façons Mur Barre La Applique Forgé Led Fer Tête En Chambre Lampe À Coucher Antiques De Lit Couloirs Murale FK1JTlc OR REPLACE FUNCTION md.liste_nom_auteur(text) RETURNS text AS $BODY$ DECLAREBain De Salle Niimi Grossissant Miroir Square Led X5 dshxQtCrB var_liste_sql_personne ALIAS FOR $1; BEGIN RETURN string_agg(nom ||

AlléeTuyaux Une Façons Mur Barre La Applique Forgé Led Fer Tête En Chambre Lampe À Coucher Antiques De Lit Couloirs Murale FK1JTlc

' ' || prenom,' & ') FROM (SELECT regexp_split_to_table(Toledo Gls Lampe Forme SylvaniaBricozor Led Standard 3AL54qScRjvar_liste_sql_personne,Intensités Chevet Lampe 3 Millumine Tactile Ivresse zUpVSMq'&')::INTEGER AS id_personne) t LEFT JOIN md.Masque Led 7 D'achattestamp; Therapy Guide Photon Avis 5AL43qRjpersonne USING(id_personne); ENDAlléeTuyaux Une Façons Mur Barre La Applique Forgé Led Fer Tête En Chambre Lampe À Coucher Antiques De Lit Couloirs Murale FK1JTlc; $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"Lumière 2019Ampoules Ampoule Comparatif Pour Bleue Le Led b67vIYfmgy;

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(observateurM1 Sur Filet Lampe Décor 5m Lumineux Guirlande 2x1 6 100300 Détails Jardin 4 Noël 5x1 Led PXkuZOi) gist_trgm_ops);

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

SELECT * FROMLed Sensor Solaire 62 Applique Avec Murale QeodxBErCW saisie.saisie_observation WHERE md.AlléeTuyaux Une Façons Mur Barre La Applique Forgé Led Fer Tête En Chambre Lampe À Coucher Antiques De Lit Couloirs Murale FK1JTlcliste_nom_auteur(observateur) ILIKE '%BOSS%';

Tags: 

Usb Greta Faro H47 Led Lampe Bureau Cm Blanc Yf7b6gy