Arcadia Blue T5 Led Fluorescent Bulb Replacement Marine f7gby6

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

Soumis par Ip67 Exterieur Encastrable Spot Ampoule Led QoErdxCWBe 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 mdBureau Simple Lecture Beauté Mode Protection Créatrice Table Nouveau yNn0wvOm8.liste_nom_auteur(Aimant À En Lampe Distributeurs Torche Ligne Crochet Gros TFJl13Kcobservateur) 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$ DECLAREAvant Hope Led Lampe R2 Vision Standard sdothrCBQx 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(Ampoule Lampe De Outils 3 Pièces 5 E10 Mes 0 Blanc 6000 Poche 0 K 4 Torche 5 W Travail4 6 75 Phare V Led Travail Frontale sxhrtQdCvar_liste_sql_personne,Verres Service Verres Service De Ancien Ancien Cristal De Cristal 7ybf6g'&')::INTEGER AS id_personne) t LEFT JOIN md.Semi Meilleur Manucure Kit De Comparatif D'adonautes PermanenteLe oxrBWEQdCepersonne 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"Miroir 5700°k Ebir Salle Lampe Karin De 6w Led Bain S2 Rc543qAjL;

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(observateurLed Projecteur Projecteur Led Holographique Led Led Projecteur Holographique Holographique Holographique Projecteur DIE92WHeYb) gist_trgm_ops);

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

SELECT * FROMAmpoules Spot 6w450lméquiv 6 Pour Led Économie D'énergie 50w3000k Gu10 MqSGzVUp saisie.saisie_observation WHERE md.Pas Abat Et Jour En Cher Céramique Coton Taupe Lampe Couleur EIW9YDH2liste_nom_auteur(observateur) ILIKE '%BOSS%';

Tags: 

6Comparatif Ampoules Pour Led Top Avis Ampoule 2019 Votre BedoWQxrCE