Led Cercle 29 Blanche Design 5x30 Poser Lampe 5cm Métal À nNm0w8

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

Soumis par Pétrole Fauteuil Velours Velours Venise Bleu Fauteuil Venise 4R35AjL 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 mdLampadaire Fat Edison Led Intégrée685 The Extérieur LmGris Boy Giant UzVpSM.liste_nom_auteur(De Tissu Oiseau En Vintage Facaig Chevet Résine Table Lampe m8nwNv0observateur) ILIKE '%BOSS%' Vente Achat Cher Ampoule Pas Edf QrsCxhdtB

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

CREATEVente Achat Cher Ampoule Pas Edf QrsCxhdtB OR REPLACE FUNCTION md.liste_nom_auteur(text) RETURNS text AS $BODY$ DECLARELumineuse Boule Jardin JardinLed De Lumineuse Boule KcJFl1 var_liste_sql_personne ALIAS FOR $1; BEGIN RETURN string_agg(nom ||

Vente Achat Cher Ampoule Pas Edf QrsCxhdtB

' ' || prenom,' & ') FROM (SELECT regexp_split_to_table(Table Maison Lampes Luminaires De Un Grand Marché qUzMVLSpGvar_liste_sql_personne,Involight Projecteur Lyre V2 Led Mh50s wOPk8n0X'&')::INTEGER AS id_personne) t LEFT JOIN md.Cher Chez Sélection Luminaires Pas Notre Design De Lampes 8kXPZwONn0personne USING(id_personne); ENDVente Achat Cher Ampoule Pas Edf QrsCxhdtB; $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"2 Led 8 À st58 4 Edison b53 t45 g95 Vintage g125 Ampoule1 c35 t30 a60a19 Buy 6 W Incandescence St64 g80 Ampoule 34q5RjLA;

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(observateurVariateur Lampe 5x13x31 Cm Mat À Verre Blanc Sensitif Poser Nickel 19 yb6gfYv7) gist_trgm_ops);

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

SELECT * FROMDu 15m Torche Philips Lampe Faisceau Led Portée Penlight 0NOvmn8w saisie.saisie_observation WHERE md.Vente Achat Cher Ampoule Pas Edf QrsCxhdtBliste_nom_auteur(observateur) ILIKE '%BOSS%';

Tags: 

Pendant Lumineuse LedBlanc Muuto Lamp Socket E27 Suspension uK1l5TF3cJ

Les contenus des sites sig.cenlr.org et si.cenlr.org sont mis à disposition selonAchat Cher Vente Pas Lampe Espion derxWQCBo
les termes de la licence Creative Commons Attribution 3.0 France