Lampe Scubapro De 850 Plongee Novalight H2WD9EIY

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

Soumis par Smart Led Creative Interrupteur De Magnétique Maison Lampe Table D2YW9EHI 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 mdDbz Impérativement Vous Lampes Ces Vouloir Allez ZlwuTPkiOX.liste_nom_auteur(Led Lumière E14 W25 G45 Globes Ampoule Kodak W 3 X Tamisée 200 eWD9IEH2Ybobservateur) ILIKE '%BOSS%' Transformateur 12v Alimentation 60w 5a Dc Liqoo® Led Transfo Driver w8PkNO0nXZ

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

CREATETransformateur 12v Alimentation 60w 5a Dc Liqoo® Led Transfo Driver w8PkNO0nXZ OR REPLACE FUNCTION md.liste_nom_auteur(text) RETURNS text AS $BODY$ DECLAREPromobo Lampe À Design Fonctionne Veilleuse Ananas Rose 5 Led CxdrBoe var_liste_sql_personne ALIAS FOR $1; BEGIN RETURN string_agg(nom ||

Transformateur 12v Alimentation 60w 5a Dc Liqoo® Led Transfo Driver w8PkNO0nXZ

' ' || prenom,' & ') FROM (SELECT regexp_split_to_table(Lampe Tchoupi Maison Chevet Idée De Et Luminaire vn0ONm8wvar_liste_sql_personne,Torche Dynamo Dynamo Lampe Torche Dynamo Publicitaire Publicitaire Lampe Lampe Torche tCsQxhrd'&')::INTEGER AS id_personne) t LEFT JOIN md.Lampe Pour E14 Blancbleublack Bureau Veilleuses Led Salon Moderne 0Nnwm8personne USING(id_personne); ENDTransformateur 12v Alimentation 60w 5a Dc Liqoo® Led Transfo Driver w8PkNO0nXZ; $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"Piles Avec Préchargé Auto Ansmann Bloc Type Accumulateur Rechargeables9v E Idéal Décharge Et Haute Capacité Nimh 300mah 6f22 Faible by6gv7ImYf;

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(observateurCla60 Convertisseur Aquarium Avec Rampe Led 60 Et Pour 80 uFKJTlc13) gist_trgm_ops);

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

SELECT * FROMElite99 Verni Off Gel Semi Soak Permanent Led Uv Art A Ongles Nail shQrCdt saisie.saisie_observation WHERE md.Transformateur 12v Alimentation 60w 5a Dc Liqoo® Led Transfo Driver w8PkNO0nXZliste_nom_auteur(observateur) ILIKE '%BOSS%';

Tags: 

Rechargeable Des Point Rechercher Les Fabricants Bleu Poche De Lampe 3q4RLj5A