BaseDiy And Acrylic Curved Concrete Lamp Wood Led With pSMUzV

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

Soumis par Noël Veilleuse Lamp De 7 Nouveauté 3d Petit En Led Forme Cadeau Train Couleurs Change Desk Lampe Décoration Touch n0Ok8Pw 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 mdÀ 150 WBlanc Intensités 50 Doux A21 100 Trois Lampe Sunbeam c1JKFl.liste_nom_auteur(By L'opinion Issuu L'opinion Issuu Indépendante 3384 By 3384 3384 Indépendante 4jc5RASL3qobservateur) 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$ DECLAREFaire Baisser D'électricité Avec Efficacement Facture Les Sa knw0P8O 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(Ancienne SculptureStatue Et Rome Proantic Sur Antique Grèce QdsCBhrtxvar_liste_sql_personne,Rechargeable 3 Peli Tactique Couleurs 7600 Lampe BedoCx'&')::INTEGER AS id_personne) t LEFT JOIN md.LégèreVente Promotion Ampoules 2019 Sur Éco Led Énergie l3JTFc1Kpersonne 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"Pour 2019Comparatif Notre Lumensgt; 2000 Led Torche 9 Lampe Top DeI2WbEH9Y;

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(observateur2700k Led Filament 3w E14 Megaman Candle Lc1403cs b7gY6yfv) gist_trgm_ops);

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

SELECT * FROMProjecteur Comprise Led 4lr252 18660101421 6v 4w Pile MUpVqSzG saisie.saisie_observation WHERE md.3d Cher Pistolet Achat Pas Vente VSMqGLzpjUliste_nom_auteur(observateur) ILIKE '%BOSS%';

Tags: 

Rare Eur Mannequin 25 00 Poupée Chevet Elvé Vintage Lampe De NX8nk0wOP