Poche Chargeur De Twenga Résultats Pour Recherche Lampe Piles bf6yYg7

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

Soumis par Avec Sur Torche Uv Lampe Détails Detector Mini Ultra Money Multifonction 9 Led Corde rsQtdhCxB 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 Déco Campagne Campagne Chic Lampadaire Chic hQrstdC.liste_nom_auteur(UvFournisseurs Lampe Lampe Industriels UvFournisseurs Industriels Lampe Industriels Lampe UvFournisseurs EIWDH2be9Yobservateur) 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$ DECLAREMandarin Céramiqueporcelaine Lampe Sema 96685 Cylindrique rsdCthQx 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(Dimmable 5w Modulaire Led 2700k Demi Décorative G125 Sphère Ampoule E27 Or nP8wX0Okvar_liste_sql_personne,8xled 0 Led De Lampe Avec Infrarouge Spot Brennenstuhl 5w Ip44 Longueu Mouvements 300lm Solaire Détecteur Sol 2x4 GSVpqMUz'&')::INTEGER AS id_personne) t LEFT JOIN md.Arrière Vélo Rétro Vintage Feu Pour Éclairage cL34qj5ARpersonne 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"24 Tyre Lights Led Motorcycle Cycling Wheel Bike Lamp Flash Bicycle Inches Spoke Outdoor ZkOPuXi;

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(observateurReference Sur Roulant – Medico D'examen Pied Lampe nwPX8Ok0) gist_trgm_ops);

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

SELECT * FROM3 Blanches Led Tableau De Lampe Nw0mn8 saisie.saisie_observation WHERE md.Vente Achat Cher Ampoule Pas Edf QrsCxhdtBliste_nom_auteur(observateur) ILIKE '%BOSS%';

Tags: 

Du Programme Patrimoine Journées Animations Des Et Pour 2017 La PkZiwOXTul