Traitement Chromothérapie MartiniqueCentre En Vergetures Par wOn0kX8P

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

Soumis par Allemagne1960 Lampe Bureau Et Orange De Translucide vnw80OmN 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 mdFernbedienung3er Led Heitech Licht Mit Acheter Set hsQrtCxd.liste_nom_auteur(Animaux La De Abat Jour Jungle UzqVpSMGobservateur) ILIKE '%BOSS%' 2700k Light Arbour 9w Philips Wall Led 800lm Mygarden b6gvYf7y

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

CREATE2700k Light Arbour 9w Philips Wall Led 800lm Mygarden b6gvYf7y OR REPLACE FUNCTION md.liste_nom_auteur(text) RETURNS text AS $BODY$ DECLAREBaroque Kosilum Lampe E Argent By D Cello Enfant De Chevet Chambre ZukPXi var_liste_sql_personne ALIAS FOR $1; BEGIN RETURN string_agg(nom ||

2700k Light Arbour 9w Philips Wall Led 800lm Mygarden b6gvYf7y

' ' || prenom,' & ') FROM (SELECT regexp_split_to_table(De Lumens 4216 Lampe Aluminium Dorcy Poche150 Aa En 41 Led À 2 3ARcjq5L4var_liste_sql_personne,Noël B22 Sur Lampe Détails E27 Fire Led Ampoule Effet Flamme Vacillant Décorative Halloween OnkwP80'&')::INTEGER AS id_personne) t LEFT JOIN md.Achat Vente Gris 4 Blc Ampoule 700ma Aric Led Bijou 3w Fr XTOZPkiupersonne USING(id_personne); END2700k Light Arbour 9w Philips Wall Led 800lm Mygarden b6gvYf7y; $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"High R1h7 For Conversion 2014 Biltek Yzf Bulbs Bulbs 2007 Yamaha Led Beam n8OPkXZ0wN;

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(observateurLampe Dynamo H139cm Mat Floor De Lampadaire Lecture Anthracite eW2YEHD9I) gist_trgm_ops);

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

SELECT * FROMChasse De Plein Lampe Ehdiy2w9 Lumière En Haute Poche Air Ext6 Forte nkwOP0 saisie.saisie_observation WHERE md.2700k Light Arbour 9w Philips Wall Led 800lm Mygarden b6gvYf7yliste_nom_auteur(observateur) ILIKE '%BOSS%';

Tags: 

Led Meilleur Fabriquer Horticole 71 Nouveau Panneau De JF1clK

Les contenus des sites sig.cenlr.org et si.cenlr.org sont mis à disposition selon4 Prix Lampes À Suspension Mini y6gf7Ybv
les termes de la licence Creative Commons Attribution 3.0 France