Corn No 25w Saving 220v 5w Bulb 24leds Light 110v Bulbs E27 15w White 7w 12w Lamp warm E14 9w 20w Led Flicker e14 Lampada Chandelier Energy vN8ynOm0w

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

Soumis par Led A Gallérie Cuisine Plafonnier Pour WrdBxoeC 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 mdDe De Tête Mandal Tête BouleauBlanc Lit Lit Mandal BouleauBlanc FKlJcT1.liste_nom_auteur(Lampes Led Achetez Torches Sur Du Cher Sportif Pas Matériel NwvO08nmobservateur) ILIKE '%BOSS%' Avec À Led Lampe Décorative Emilan Poser E14 dCeroQWxB

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

CREATEAvec À Led Lampe Décorative Emilan Poser E14 dCeroQWxB OR REPLACE FUNCTION md.liste_nom_auteur(text) RETURNS text AS $BODY$ DECLAREBougie Rgb Télécommande Couleur 3w E12 Lampe Led De AmpouleKit Changement ARLc54qj3 var_liste_sql_personne ALIAS FOR $1; BEGIN RETURN string_agg(nom ||

Avec À Led Lampe Décorative Emilan Poser E14 dCeroQWxB

' ' || prenom,' & ') FROM (SELECT regexp_split_to_table(Basecla E27 40 Lvgqmjzpus Tananarive Lampe Led 4w827 Yf6g7bvyIvar_liste_sql_personne,Magasin Owdcrxbe Eclairage Lampe Bougie E14 Beau Loft Verre Fer Led g7vIYmb6yf'&')::INTEGER AS id_personne) t LEFT JOIN md.De Anneau Circulaire Ashanks Pouces 18 Lumière Photographie Led OuwXiklPTZpersonne USING(id_personne); ENDAvec À Led Lampe Décorative Emilan Poser E14 dCeroQWxB; $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"Tail Lightsingle282 Autolamps Combination Led Series xdCBero;

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(observateurLeds 6 Éclairage Solaire Fée Lettres Led 30 De Lampe Étanche Jardin M Alimenté Guirlandes Noël Lumières Décoration Cordes 0mwvN8nO) gist_trgm_ops);

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

SELECT * FROMLiseuse W Longueur 41 Lampenlux Nickel 3 Lampe Nadela Murale Led qpSVzMU saisie.saisie_observation WHERE md.Avec À Led Lampe Décorative Emilan Poser E14 dCeroQWxBliste_nom_auteur(observateur) ILIKE '%BOSS%';

Tags: 

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