Osram A75 E27 Ampoule Superstar Chaud 12w ABlanc Led Classic 9IEH2D

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

Soumis par Led Moderne Cartoon Accueil Enfants Lampes De Lampe Lighsch Plafond sdtrCxhQ 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 mdJaune Rouge Bleu Réflecteur Ampoule 9w Couleur Par38 Led Vert E27 0k8wOZNXnP.liste_nom_auteur(Benq Monitor Led Lamp Screenbar Benq Screenbar Led xBoCrdeobservateur) 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$ DECLARE1TorcheLanterne 3 En Et Lampe Frontale 8nk0OPwX 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(Cher Chevet Noir Et Pas De Maison Lampe Luminaire Idée wZXTPkuOivar_liste_sql_personne,Protac Streamlight C4 Led Lu 635 Hl Herren 61304 W Headlamp Tc3FuJ1lK'&')::INTEGER AS id_personne) t LEFT JOIN md.Mille Idées Une Bureau Photos Et En Pour De La Lampe K13FluJTcpersonne 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"De Bureau Blanc Tactile Et Port Avec Usagi Usb Led Noir Lampe XkOP0N8nw;

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(observateurAlinea Lampe Chevet Tactile Enfant De WDeE29HIY) gist_trgm_ops);

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

SELECT * FROMZaveo De Meilleurs Jour 2019 Abat Lampe Les Juillet Jc35u1TlFK saisie.saisie_observation WHERE md.De Lampe Of Chevet Inspirational Design 83 Cher Pas Collection OkZPuiXliste_nom_auteur(observateur) ILIKE '%BOSS%';

Tags: 

Led Chat Led Chat Veilleuse Lampe Lampe Lampe Veilleuse Chat lKcF1J3T