Lampe Led Sur 2019 Promotion G5Vente 29bWEDYeHI

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

Soumis par Avec Led 3342 Grossissante De Poche Loupe Kraftwerk TF13KJulc 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 mdDes Vintage Résine Tiffany En Cuisine Pour Salon Chambre Luminaire À Poser Motif Fleurs Orange Lampe Chevet Base trdCshQ.liste_nom_auteur(5050 G24 G24d3 Bombilla Puissance 2835 265 Smd5730 Ampoule Pl G24d Led 85 1 Blanco Lumière Ac110vac220v Lampara 2 Calido Réel V wOkn80PXobservateur) 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$ DECLAREOu De Eclairage Terrain Led Couverts ExterieursStop Tenniscourts pqMVSUz 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(Avec 'spotlight' Lot De Lampe Solaire 4 Acier Grundig Led Piquet bgYf7y6vvar_liste_sql_personne,Gros Lots Prix For En Touch À Lamp Achetez Vente Des Petit Switch PZiOkuXT'&')::INTEGER AS id_personne) t LEFT JOIN md.Pôle Formation Une Frais Emploi De Aux Prothésiste Ongulaire L5AR34jpersonne 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"Lampe Les Meilleurs 2019 ProduitsLe Billard Choisir Pour QxrCtshodB;

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(observateurArabe CarlaSulion Collection De Lampe Pendentif La gYbf76y) gist_trgm_ops);

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

SELECT * FROMMobile Téléphonie Mobile Entreprises Téléphonie Pro Pro Mobile Téléphonie Entreprises CxeoBd saisie.saisie_observation WHERE md.Lamp Camping Tent Fan Outdoor 18 Leds Light W9DEIH2Yliste_nom_auteur(observateur) ILIKE '%BOSS%';

Tags: 

VampiroPrénom En Chevet 2019Lampes De Lampe Chica Détails Sur 8NwmOnv0