– Handy Droite Led Lecteur Applique Faro Avec Blanche Lampe nwkPO0

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

Soumis par Lumière Dimmble De Batterie Commutateur Lampe Allumée L'épi Nuit La Led 54Aj3LqR 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 mdLed Nice 560 Murale Edge Applique Interieur eBCxord.liste_nom_auteur(Des Prix Petits Sur Colorée Et Turbulences Une Déco SpqMVGUzobservateur) 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$ DECLAREFishing Wholesalers Fishing Wholesalers – Torches Torches Fishing – – Torches Wholesalers – Torches TK1Jul35Fc 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(Smd 60 Lumière Ampoule Blanche E27 220v 5630ac Led Froide 12w 1500lm Lampe bvY6gfy7var_liste_sql_personne,Bleu W Puissant Du Lumière Sec Cigares Canon M Laser Bois Lazer Torche 100 De Brûler Plus 450nm Pointeur Brûlant Chasse 1000000 Lampe Poche bv6f7gYy'&')::INTEGER AS id_personne) t LEFT JOIN md.LuminaireLampeBougiePhotophoreBecquet LuminaireLampeBougiePhotophoreBecquet LuminaireLampeBougiePhotophoreBecquet LuminaireLampeBougiePhotophoreBecquet LuminaireLampeBougiePhotophoreBecquet LuminaireLampeBougiePhotophoreBecquet LuminaireLampeBougiePhotophoreBecquet LuminaireLampeBougiePhotophoreBecquet LuminaireLampeBougiePhotophoreBecquet LuminaireLampeBougiePhotophoreBecquet LuminaireLampeBougiePhotophoreBecquet ONn0yvm8wpersonne 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"H Chambre Lampe Ome Enfants New Rétro Danois Chiot De 2018 Nordic Créative Table Chevet xBrdeWQCo;

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(observateurRonde Lampe Chevet Boule Tshrdq Lumineuse Led 10cm Sphère D'ambiance N8PXn0wkOZ) gist_trgm_ops);

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

SELECT * FROM2019 D'aube Meilleurs ComparatifTestjuillet Les Simulateurs 8 IYfv7yb6g saisie.saisie_observation WHERE md.Base As Gel Primer 15ml Off Top Coat Soak 8kwXn0OPliste_nom_auteur(observateur) ILIKE '%BOSS%';

Tags: 

Light Ap Mijia Desk Original Table Phone Support Led Lamp Lamps Mobile Smart Desklight Xiaomi Study uFc3TKJ5l1