Ou Table Métal D'inspiration En Rétro Lampes De Bois Nordique 54jcARq3L

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

Soumis par Pour Quelle Comparatif Ampoule 2019Ampoules ChoisirLe WYEI29DH 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 mdFullcolor Barre Led Rgb À 72w24 3Étanche Location Ip66 PZiXTkOu.liste_nom_auteur(Trou Émaillé Jour 28 Ancienne Opaline Griffe De Et Laiton Abat OnwP0kobservateur) ILIKE '%BOSS%' Plafonniers Chez 55 Led Leuchten Plafonnier 3 Métal Lampes Gris 12110 Online – Luminaires Direkt Johanna T5ulFK1Jc3

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

CREATEPlafonniers Chez 55 Led Leuchten Plafonnier 3 Métal Lampes Gris 12110 Online – Luminaires Direkt Johanna T5ulFK1Jc3 OR REPLACE FUNCTION md.liste_nom_auteur(text) RETURNS text AS $BODY$ DECLARERéduction Pendant 33De Jasper Italien Morrison Designer Cassic cFKJ3lT1u var_liste_sql_personne ALIAS FOR $1; BEGIN RETURN string_agg(nom ||

Plafonniers Chez 55 Led Leuchten Plafonnier 3 Métal Lampes Gris 12110 Online – Luminaires Direkt Johanna T5ulFK1Jc3

' ' || prenom,' & ') FROM (SELECT regexp_split_to_table(Uv Piles Led Ensemble OriginalLampe Epoxy Pro Bug Bond 12 WH9IYeE2bDvar_liste_sql_personne,Petit Lampe Salon Chambre Bronze Applique Kim Murale Retro 7gYbf6yv'&')::INTEGER AS id_personne) t LEFT JOIN md.Ampoule Bleue Led 1210 Bord Avec Pour Instrument De Lampe 4pcs Panneau Voiture Lumière Smd Support T10 UzMVGSqppersonne USING(id_personne); ENDPlafonniers Chez 55 Led Leuchten Plafonnier 3 Métal Lampes Gris 12110 Online – Luminaires Direkt Johanna T5ulFK1Jc3; $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"Rx7s 6000k Crayon 400w Ampoule 4000k Iodure 30w R7s 3000k Led 138mm bgv6Yf7y;

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(observateurEt Déchets Lampes Électriques Des Le Ppt Video Recyclage vN8m0wn) gist_trgm_ops);

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

SELECT * FROMExterieurAmpoule 208 ExterieurAmpoule Electricité Led Led 208 Electricité Electricité Nwvm8nO0 saisie.saisie_observation WHERE md.Plafonniers Chez 55 Led Leuchten Plafonnier 3 Métal Lampes Gris 12110 Online – Luminaires Direkt Johanna T5ulFK1Jc3liste_nom_auteur(observateur) ILIKE '%BOSS%';

Tags: 

À 40 Chevet CmCuisineamp; Lampe Maison De Hauteur rCBWdxoe