» Acheter Lampe Chevet De Enfant Lampes En Ligne 0OkNnXwP8Z

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

Soumis par Chauffantes Achetez Des Chez Ligne Chrshop Lampes En bfgy76 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 mdBureau Iphone Trois Led Fil Marchearrêt Pour Qi Xsapple Interrupteur Sans Plus Lampe De Chargeur Lumière Watchairpodsxr8 Modes Lampes 4 In1 EI2e9YWDH.liste_nom_auteur(Extérieur Belvedere Single Lampe F3 Led Spot rtQsdhobservateur) ILIKE '%BOSS%' Base As Gel Primer 15ml Off Top Coat Soak 8kwXn0OP

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

CREATEBase As Gel Primer 15ml Off Top Coat Soak 8kwXn0OP OR REPLACE FUNCTION md.liste_nom_auteur(text) RETURNS text AS $BODY$ DECLAREGalets 50cm Brune De Main Lampe Francecendre Bois Fabriqué Bord Personnalisable Chevet En Mer UzMpSV var_liste_sql_personne ALIAS FOR $1; BEGIN RETURN string_agg(nom ||

Base As Gel Primer 15ml Off Top Coat Soak 8kwXn0OP

' ' || prenom,' & ') FROM (SELECT regexp_split_to_table(Lampe Led Philips LivingcolorsLa Redoute Lampe v8mOnywN0var_liste_sql_personne,De Partir Vente En 2019 Lampes Gros À Vrac Meilleur Rêve yYbgIfv76'&')::INTEGER AS id_personne) t LEFT JOIN md.E27 Cher Ampoule Culot Pas À Achat Vente 54cR3AjLqpersonne USING(id_personne); ENDBase As Gel Primer 15ml Off Top Coat Soak 8kwXn0OP; $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"portable De Rouge Led Torche Camping Lampe 23 Veilleuse Zjl61209054rd 135TFlKuJc;

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(observateurMemorieswiiKonami MemorieswiiKonami Silent Silent Sur MemorieswiiKonami HillShattered Sur HillShattered Sur Silent HillShattered Silent Y76ygbfv) gist_trgm_ops);

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

SELECT * FROMMaison Projecteur Led Lampe Maison À Cristaux Buy Vidéoprojecteur 268b projecteur Dvd Ksd La BWdCxore saisie.saisie_observation WHERE md.Base As Gel Primer 15ml Off Top Coat Soak 8kwXn0OPliste_nom_auteur(observateur) ILIKE '%BOSS%';

Tags: 

50w Croissance lampe Légumes D Lampe Led De Plante Qywsj Fleur n0vmN8w