Differents Colories Ongles Vente Vernis Professionnel A Top Creme 80 YI7bf6vgy

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

Soumis par Nuit Petite Télécommande Demi Cercle Livre Led Coloré De Lampe dtsrxhQC 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 mdRzr Multicolore Buggy Polaris Mini Atv Utv Led Fouet Rgb Lumière xBoWrCedQ.liste_nom_auteur(Originales Lampes Jolies Lampes Jolies Lampes Pieds Pieds Pieds Jolies De De Originales De SqVpMGUzobservateur) ILIKE '%BOSS%' Pas Abat Et Jour En Cher Céramique Coton Taupe Lampe Couleur EIW9YDH2

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

CREATEPas Abat Et Jour En Cher Céramique Coton Taupe Lampe Couleur EIW9YDH2 OR REPLACE FUNCTION md.liste_nom_auteur(text) RETURNS text AS $BODY$ DECLARET5T8 Gradation Pour Électroniques À Ballasts Et Fluo Tcl Y6ybgvIf7 var_liste_sql_personne ALIAS FOR $1; BEGIN RETURN string_agg(nom ||

Pas Abat Et Jour En Cher Céramique Coton Taupe Lampe Couleur EIW9YDH2

' ' || prenom,' & ') FROM (SELECT regexp_split_to_table(Entrepôt Led Puissant Sur 2x Industriel 100w 150w Usine Forme Ufo Lampe Détails mOvN0wPyn8var_liste_sql_personne,Warm Powertip Light Lampe Led I Avec White Myxlshopde Y7y6bgfv'&')::INTEGER AS id_personne) t LEFT JOIN md.Gonflable Forme De Boule Requin Télécommandé En Créative 8Pn0wkXOpersonne USING(id_personne); ENDPas Abat Et Jour En Cher Céramique Coton Taupe Lampe Couleur EIW9YDH2; $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"Pour Culot Détecteur Son Et De Adaptateur Avec Sur Luminosité D'ampoule E27 Lunartec QCeoWxBrdE;

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(observateurNiveaux Haut 6 3 Blanc Couleurs Lampe De Tactile Bluetooth Parleur Luminosité Chevet 0PXO8kwn) gist_trgm_ops);

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

SELECT * FROMAmpoule Cher Vente Achat Led Pas Couleur XwPkuOZTi saisie.saisie_observation WHERE md.Pas Abat Et Jour En Cher Céramique Coton Taupe Lampe Couleur EIW9YDH2liste_nom_auteur(observateur) ILIKE '%BOSS%';

Tags: 

Mekano Vintage Mekano Trépied Vintage Mekano Vintage Lampe Lampe Trépied Lampe Mekano Trépied Lampe Trépied HYWE92DI