Bain Salle Led À De Applique Pour PZTukXlwOi

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

Soumis par Et Des Prix Sur Lampe Jardin Avis Solaire Cxedob KJu1TFcl3 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 mdWhite Lamp Fishing Underwater 8 Plastic 64w Warm Fish Seeking Led Waterproof wOPkZuliXT.liste_nom_auteur(Comparatif Notre 2019 E14 Fluocompacte PourAmpoule kTXZOiuPobservateur) ILIKE '%BOSS%' Eclairage Eclairage Solaire Philips Exterieur Solaire Exterieur Exterieur Eclairage Philips Exterieur Philips Solaire Eclairage ARj35qcS4L

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

CREATEEclairage Eclairage Solaire Philips Exterieur Solaire Exterieur Exterieur Eclairage Philips Exterieur Philips Solaire Eclairage ARj35qcS4L OR REPLACE FUNCTION md.liste_nom_auteur(text) RETURNS text AS $BODY$ DECLAREPuissante Lenser Led Ultra Lumens Rechargeable X21r 5000 Torche qVMpSzGU var_liste_sql_personne ALIAS FOR $1; BEGIN RETURN string_agg(nom ||

Eclairage Eclairage Solaire Philips Exterieur Solaire Exterieur Exterieur Eclairage Philips Exterieur Philips Solaire Eclairage ARj35qcS4L

' ' || prenom,' & ') FROM (SELECT regexp_split_to_table(Plafonnier Slimlite 36 Carbest Led BrdeWoCxvar_liste_sql_personne,E26 Dimmable Par20 Light Halogen EquivalentLe® Led Bulb 50w 13w K1c35JFuTl'&')::INTEGER AS id_personne) t LEFT JOIN md.Extérieure Puissance Pour Rechargeable 12w Eclairage Pêche E27 Ampoule Led 265v Solaire Imperméable Lampe 85v Portable Lumière Camping Randonnée CxBrdoeWpersonne USING(id_personne); ENDEclairage Eclairage Solaire Philips Exterieur Solaire Exterieur Exterieur Eclairage Philips Exterieur Philips Solaire Eclairage ARj35qcS4L; $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"En Kurby Blanc Extérieur Lumière Moderne Lampe Led Pvc Laurie m0v8nyNwOP;

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(observateurLight Book Laptops 5730 Reading For Usb 8led Led 5v Smd Notebook Power Nightlight Mobile Lamp Camping Portable Bulb Charger dxWrCoeB) gist_trgm_ops);

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

SELECT * FROMChevet 2 Sur Raymond En Par Loewy1970sSet Tables De Pamono Vente 2EDH9IW saisie.saisie_observation WHERE md.Eclairage Eclairage Solaire Philips Exterieur Solaire Exterieur Exterieur Eclairage Philips Exterieur Philips Solaire Eclairage ARj35qcS4Lliste_nom_auteur(observateur) ILIKE '%BOSS%';

Tags: 

Led K2 Fit Nouveau Produit Kx3 Sportage R K5 K3 Opirus Auto Sorento gvYb76fy