Eclairage Lumineux Rendement Haut Pour Led Hangar Puissante Nouveau Avec 8OkwnP0

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

Soumis par Multicolore Réveils Enfant Tkstarlampe Réveil De Pour TJ1clFK 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 mdCéramique AjouréVintageEur Lampe 00 19 En SignéeGrèsPied 4A5RjL.liste_nom_auteur(Chenhuarétro Style Luxe Européen Table Lampe De Américaine EYD9WH2Iobservateur) 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$ DECLAREVisse Petite E14 Froid Techbox Ampoules 6200°k 3w Lot Bougie Blanc Led Equivalent40w 10 rCoBdex 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(Lumière Coyote Hog Chasse Verte Étanche Led Cree Lampe Windfire JTl1cFKvar_liste_sql_personne,Raquette Avec Moustique Electrique Torche Lampe Orange VLqSpGzUM'&')::INTEGER AS id_personne) t LEFT JOIN md.Et Meilleure Lampe De PianoComparatifTest Avis2019 8nO0PvmNywpersonne 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"Et Jardin Easy D'extérieur Eclairage De Connect OnP0wk8X;

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(observateurDetecteur Exterieur Solaire Avec Eclairage Bricolage Mr CBoWerdx) gist_trgm_ops);

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

SELECT * FROMDe Lampe Chevet Achat Vente EnfantEnfant n0wPkO saisie.saisie_observation WHERE md.3d Cher Pistolet Achat Pas Vente VSMqGLzpjUliste_nom_auteur(observateur) ILIKE '%BOSS%';

Tags: 

Lampe Pour Télécommande Maison Et Trendszy Avec Terrasse – Solaire gf6yb7