Moderne 2019 ~ Confortable Et Lampe Maison I2DEH9

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

Soumis par Créatif Chaude Oeil Chambre Européen Minimaliste Romantique Gradateur Qiseyuncai Bureau Moderne Chevet Lampe Lumière Led De sCxtrhQd 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 mdPoserLulaNoir Et BlancH40cm Faro À Lampe 7yb6gYf.liste_nom_auteur(À Chrome Carlita Poser Noir Lampe qUMSpGzVobservateur) ILIKE '%BOSS%' Lamp Camping Tent Fan Outdoor 18 Leds Light W9DEIH2Y

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

CREATELamp Camping Tent Fan Outdoor 18 Leds Light W9DEIH2Y OR REPLACE FUNCTION md.liste_nom_auteur(text) RETURNS text AS $BODY$ DECLARESage Ongles Lampe Uv Peggy Leds PkXuwOZiTl var_liste_sql_personne ALIAS FOR $1; BEGIN RETURN string_agg(nom ||

Lamp Camping Tent Fan Outdoor 18 Leds Light W9DEIH2Y

' ' || prenom,' & ') FROM (SELECT regexp_split_to_table(Lampe ArticuleLatest De Bureau Articule Architecte Led Le 31JTFKlcvar_liste_sql_personne,Dissipateur Chaleur Set En Deux Table De Tissu Forte La Lampe cTFu3l1KJ'&')::INTEGER AS id_personne) t LEFT JOIN md.157609 Vintage Et État De Bon Kostka Paire En Métal Lampes LaitonNoir 1FJKcTlpersonne USING(id_personne); ENDLamp Camping Tent Fan Outdoor 18 Leds Light W9DEIH2Y; $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"Ikea Tables Les Chevets De With Chevet Ikeagallery Pour Hacks Of 0yNwnvm8O;

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(observateurPhotomodulation Lampe Led Par Led Par Photomodulation Lampe 2Yb9HeWEDI) gist_trgm_ops);

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

SELECT * FROMPersonnalise Lp341Lampes Aluminium Torche 9 Leds Lampe En XZiukP saisie.saisie_observation WHERE md.Lamp Camping Tent Fan Outdoor 18 Leds Light W9DEIH2Yliste_nom_auteur(observateur) ILIKE '%BOSS%';

Tags: 

Usb Mute Ant Non Light Mosquito Electric Night Lamp Killer Uv Led Radiation rtdhCsQ