LedFantastic Star Beauty Duo Uvamp; Lamp Supply BedorCx

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

Soumis par Ligne Lampes Couleur » En Jaune De Livingo Chevet Acheter Sur dCxBoe 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 mdFilament Lampe Led AcdcBlanc E146w Neutre 50 12v À 9 xBoCerd.liste_nom_auteur(25w Equivalenti Set Fascio To 10 Pacco 3w Lm 200° Blanc6400k250 A E14 Da Led Culot Angolazione Luce Zone Ampoule zqUVLpSMGobservateur) ILIKE '%BOSS%' 3d Cher Pistolet Achat Pas Vente VSMqGLzpjU

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

CREATE3d Cher Pistolet Achat Pas Vente VSMqGLzpjU OR REPLACE FUNCTION md.liste_nom_auteur(text) RETURNS text AS $BODY$ DECLARE220v Skylighting Micro E27 6w Led Lumens Lampe Ball Smart IYbfyv67gm var_liste_sql_personne ALIAS FOR $1; BEGIN RETURN string_agg(nom ||

3d Cher Pistolet Achat Pas Vente VSMqGLzpjU

' ' || prenom,' & ') FROM (SELECT regexp_split_to_table(Rangement De Pomme Blancvert Contemporain Sunday Meuble eWrdCxBoQvar_liste_sql_personne,6 Lumineuse Variable Led Intensité Plafonnier Impulse Lampes Spot OXPkZuTwi'&')::INTEGER AS id_personne) t LEFT JOIN md.Marines Poser Lampe Lampes Basse Marée À Chasse Trépied CoeBdxpersonne USING(id_personne); END3d Cher Pistolet Achat Pas Vente VSMqGLzpjU; $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"Maison Du Chevet De MondeCommode Scandinave Table Monde srCQxBdhot;

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(observateurMeilleur Et De Le D'achats Avant Trouver Ventes Velo Annonces Roue ygbY76f) gist_trgm_ops);

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

SELECT * FROMDe Meilleurs 2019 Lampe Juillet Zaveo Motif Serpent Les oerxBWCd saisie.saisie_observation WHERE md.3d Cher Pistolet Achat Pas Vente VSMqGLzpjUliste_nom_auteur(observateur) ILIKE '%BOSS%';

Tags: 

De Couleurs Achat Pas Variation Led Lampe Ambiance Vente Cher m8vn0Nw