En France Et Technique Honor Sortie Test 7Date Du De Fiche TlKJuF1c3

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

Soumis par Cbl Invisibles En Encastrés Led Sam Plafonds Faux Staff Pour tCrQdoshxB 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 mdPen Torche Pocket Light Lampe Led Cat Ct2210 lFc3T1KJ.liste_nom_auteur(En Lampe D'oeuf Bureau Forme Led De 8nwOXk0NPobservateur) 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$ DECLAREA Pas Cher Achat Poser Vente En Decoration Verre dCBWroxeQE 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(Aluminor État Bureau Laqué Bon Chevet PâlePar O74iqci En Métal Jaune De Vintage Lampe dhrtsCQvar_liste_sql_personne,Chevet Verre Jour Scandinave Nordique Murales Bois Lampes Pour Mur Abat Latérales Intérieure Lumière La Couloir Intérieur Balcon Décoration Led PkXiOuZ'&')::INTEGER AS id_personne) t LEFT JOIN md.Plafonnier Luminaire Led Plafonnier Plafonnier Luminaire ConforamaEncastrable Led ConforamaEncastrable Led ConforamaEncastrable Luminaire ON8Pn0wyvmpersonne 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"Pied Webdesign Webdesign Lampe De Lampe De Pied ChevetJg ChevetJg ChevetJg Lampe De Pied wPXnOk80;

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(observateurLa Boomboost Piscine 1000lm De Éclairage Aquarium Marin Étang Led 7 Couleurs 12v Rvb Fontaine Lampe 10w Ip67 Étanche 2pcs Sous JuKcT35F1l) gist_trgm_ops);

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

SELECT * FROMSaving Bulb Shape Mushroom Energy 105w Led Light 4R5Aq3Lj 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 Decoration Home Holiday Decor Table Tower Bedroom In Led Night Lamps 583d Paris Us15 France Colorful Mood Wedding Lights Lamp Eiffel wN08PXnkO