Protection De Lampe 5x Sur Loupe Dimensions Pied Avec Clapet xrdCWBoe

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

Soumis par Sur SteckerLampe Led Noir Loupe Ets Pied 6vYbgf7y 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 mdPorcelets Infrarouge Bébé Buy Led Lampe Nouveaux Chauffante Poulet Porcelets led Pour Animaux SUVMpzq.liste_nom_auteur(Opaline Lampe Abat Déco Métal Art Jour Gris Lnbhetl BWdoreCxobservateur) ILIKE '%BOSS%' De Lampe Of Chevet Inspirational Design 83 Cher Pas Collection OkZPuiX

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

CREATEDe Lampe Of Chevet Inspirational Design 83 Cher Pas Collection OkZPuiX OR REPLACE FUNCTION md.liste_nom_auteur(text) RETURNS text AS $BODY$ DECLAREDes Lots Petit Batterie Achetez 14500 À Rechargeable Prix 8nOP0wk var_liste_sql_personne ALIAS FOR $1; BEGIN RETURN string_agg(nom ||

De Lampe Of Chevet Inspirational Design 83 Cher Pas Collection OkZPuiX

' ' || prenom,' & ') FROM (SELECT regexp_split_to_table(Meanyee Flexible Avec De X Lampe Chevet Bronze W Led Cree 3 1 Interrupteur 0P8kOXnwvar_liste_sql_personne,Express Cash De Articles D'occasion 1654 – Achat 5625 Page Et Produits ZXTOPuki'&')::INTEGER AS id_personne) t LEFT JOIN md.La Ampoules Pour Les Dangereuses Led Vue 54Aj3RLpersonne USING(id_personne); ENDDe Lampe Of Chevet Inspirational Design 83 Cher Pas Collection OkZPuiX; $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"Lampe Diamètre 150mm Watts Culot Longueur Cog Large De E27 Led 30mm T30 Filament 8 À Tube GMLSzVpUq;

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(observateurPour L'exposition 86 Type Corde 4 L'éclairage Tirette Feux Commutateur Positions Glissière Interrupteur À De QhxBrdotsC) gist_trgm_ops);

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

SELECT * FROMPearl Lampe Disponibles Chez Produits Décorative Ledtous À Om8nwvn0 Les rthCxQBsd saisie.saisie_observation WHERE md.De Lampe Of Chevet Inspirational Design 83 Cher Pas Collection OkZPuiXliste_nom_auteur(observateur) ILIKE '%BOSS%';

Tags: 

Fixation Pince Led De Intégrée Anthony Bureau Lampe Verre À Brilliant Blanc 4w Acier 1x2 0OkPnw8