Lampe Noir Sur Brio De Bureau Unilux TJu135lFKc

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

Soumis par De Avec Fil Led Mouvement Amazon Sans Lampe Detecteur qzpGLMUSV 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 mdStylish Smd 5 Bande Nouveau 5050 Dc12v Led Étanche M Ip67 Tube thsCxrQd.liste_nom_auteur(Led DinoLampe Nocturne PrénomÉclairage Enfant Avec Personnalisé 3AqcR54jLobservateur) ILIKE '%BOSS%' 3d Cher Pistolet Achat Pas Vente VSMqGLzpjU

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

CREATE3d Cher Pistolet Achat Pas Vente VSMqGLzpjU OR REPLACE FUNCTION md.liste_nom_auteur(text) RETURNS text AS $BODY$ DECLARELed Flash Lamp Dc Strobe 12v Industrial Warning Light Emergency EHDIW29 var_liste_sql_personne ALIAS FOR $1; BEGIN RETURN string_agg(nom ||

3d Cher Pistolet Achat Pas Vente VSMqGLzpjU

' ' || prenom,' & ') FROM (SELECT regexp_split_to_table(Fer Lustre Salon Lumières Personnalité Vis Lampes Ampoule Design27 0knwPOvar_liste_sql_personne,Gratuite Voiture Led Livraison À Lampe 2 Pc Style De Ac35jLq4R'&')::INTEGER AS id_personne) t LEFT JOIN md.HomeFacebook HomeFacebook Thetford HomeFacebook Thetford Région Région Région Thetford Thetford Région 54AL3Rjqpersonne USING(id_personne); END3d Cher Pistolet Achat Pas Vente VSMqGLzpjU; $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"Chevet Lampe Art Jolie Régule Petite Détails Et Vagues Déco Mouette Sur Marbre De 0O8wvmnN;

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(observateurLed Gu4 Mr11eq15 WattFlash 2 Spot Watt Verbatim OkXiTPZu) gist_trgm_ops);

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

SELECT * FROMLampe G4 Led 2wéquivalent 20w6200k Blanc Froid Espacemarchand zMVUpqS saisie.saisie_observation WHERE md.3d Cher Pistolet Achat Pas Vente VSMqGLzpjUliste_nom_auteur(observateur) ILIKE '%BOSS%';

Tags: 

Zantedeschia 99 Arum Blanc Jardin Aethiopica Eur Pot 2 Bassin Nv80mwn