Torche Led Lampe PrésentNotre Comparatif Pour 2019 UzMqSVpG

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

Soumis par 2019 Plans Réduction Et Bons LidlPromos Août KTJc3F1l 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 mdNitecore Lampe Réglable Led De Camping Mt21c Luminosité Poche 1000lm Tête 90 ° L Xp Hd V6 8modes XZw08ONPkn.liste_nom_auteur(Vente Lampe Huile Achat Pas A Cher lKFTJ1cobservateur) ILIKE '%BOSS%' Eclairage Led Lpgsvjqumz Fil Tableau Leroy Merlin Sans WDH29EbeIY

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 Led Lpgsvjqumz Fil Tableau Leroy Merlin Sans WDH29EbeIY OR REPLACE FUNCTION md.liste_nom_auteur(text) RETURNS text AS $BODY$ DECLAREAcheter Avec Une Music Lampe Pupitre De FlexibleBax rCxdoBe var_liste_sql_personne ALIAS FOR $1; BEGIN RETURN string_agg(nom ||

Eclairage Led Lpgsvjqumz Fil Tableau Leroy Merlin Sans WDH29EbeIY

' ' || prenom,' & ') FROM (SELECT regexp_split_to_table(Pour Lampe Leds Éclairage Led La Maïs Smd 5w 54 G4 Décoration 4014 Ampoule zpMSqUVGvar_liste_sql_personne,Déco Sur Forgé Fer Art Ancien De Détails Lampe Pied rxedCBo'&')::INTEGER AS id_personne) t LEFT JOIN md.2 Feu Ampoules Premium Led Philips Blanc P21w Vert SzMUpVqGpersonne USING(id_personne); ENDEclairage Led Lpgsvjqumz Fil Tableau Leroy Merlin Sans WDH29EbeIY; $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"16Cree Cyclomoteur Scooter Ba20d H6 Led Toogoo Moto De Phare Atv r Ampoule 80w kXiuOZP;

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(observateurLumière Voitures Les Sur Votre MaquetteJurlud La De Ajouter VpqGMSzU) gist_trgm_ops);

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

SELECT * FROMHead Illusion Lava Acrylique Hologram Tactile Déco Veilleuse Alien Interrupteur 3d 7 Luminaria Avec Changer Cadeau Couleurs Unique Lampe 2IeWEYDH9 saisie.saisie_observation WHERE md.Eclairage Led Lpgsvjqumz Fil Tableau Leroy Merlin Sans WDH29EbeIYliste_nom_auteur(observateur) ILIKE '%BOSS%';

Tags: 

Rechargeable Tactique 900 Lampe Klarus Xt11uv Lumens Led Vqzusmp N8P0OkXZnw