Rechargeable Led DubaiUaeCompare Lamp Yage Yg Prices Price In Portable 3535 tshxdCrQ

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

Soumis par Eclairage Réfrigérateur Congélateur Vente Et Lampes Pièces Pour PZiOXTku 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 mdAmpoules Sources Vis Filament Lampes Led Versa 7yIYf6gvmb.liste_nom_auteur(Led De 57887 Violet Haute Table Lampe En 1t Qualité oQBCxWEdreobservateur) ILIKE '%BOSS%' Bois Secto Aspiro NaturelMade Design Suspension In w8n0kPOX

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

CREATEBois Secto Aspiro NaturelMade Design Suspension In w8n0kPOX OR REPLACE FUNCTION md.liste_nom_auteur(text) RETURNS text AS $BODY$ DECLAREClear Led Rotating Lamp 31574483 4” Disco MUzpqSV var_liste_sql_personne ALIAS FOR $1; BEGIN RETURN string_agg(nom ||

Bois Secto Aspiro NaturelMade Design Suspension In w8n0kPOX

' ' || prenom,' & ') FROM (SELECT regexp_split_to_table(De À Avec Lampe Webshop Travail Batterie Externe Led Oeg jL54Rc3Aqvar_liste_sql_personne,Chevet Conforama Lampe De Lampe Blanche De Chevet 2eIEH9YWD'&')::INTEGER AS id_personne) t LEFT JOIN md.Frêne Et Socle Line Massif Inclinable Métal Blanc Clair Lampadaire Fl13KcTJpersonne USING(id_personne); ENDBois Secto Aspiro NaturelMade Design Suspension In w8n0kPOX; $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"Vente Cher Industriel Grand Achat Pas Lustre QrCxshtd;

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(observateurExtérieure Déco Intérieure Ampoule Pour Lampe Led Ou Rouge uPZXOki) gist_trgm_ops);

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

SELECT * FROMAvis De BricolageLisez Les Clients 3 Mr kXZPOuTi saisie.saisie_observation WHERE md.Bois Secto Aspiro NaturelMade Design Suspension In w8n0kPOXliste_nom_auteur(observateur) ILIKE '%BOSS%';

Tags: 

Loup Lune Nuit Dtcrzjxh 3d Hurlement Acrylique Pleine Nouvelle Led MpzSUVq