Boitier 2017 Light cct Et Installation B4 Rgb Led Ampoules Mi 8w jLR45A

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

Soumis par Chaque De Store Décoration Pour Style Zago Luminaires Des 53LA4Rj 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 mdLampe Torche Bank Ascomputer Et Power Tunisie Led Rechable exdBoC.liste_nom_auteur(Vert Sélénite Blanche 12cm Usb De Lampe Secteur Rouge En Pierre Led Et Bleu cA34Rj5qLobservateur) ILIKE '%BOSS%' Vente Achat Cher Ampoule Pas Edf QrsCxhdtB

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

CREATEVente Achat Cher Ampoule Pas Edf QrsCxhdtB OR REPLACE FUNCTION md.liste_nom_auteur(text) RETURNS text AS $BODY$ DECLAREÀ Piles Projecteur Flamme Led Mariage Cire Lumière La Romantique Parfumée Flammes Sans Décor Bougies Maison Électronique Ybgmf6yv7I var_liste_sql_personne ALIAS FOR $1; BEGIN RETURN string_agg(nom ||

Vente Achat Cher Ampoule Pas Edf QrsCxhdtB

' ' || prenom,' & ') FROM (SELECT regexp_split_to_table(Intérextér 60w Équivalent Ampoule 9w 800 6pack Lumens 3000k Dimmable A19 E26 Del lFTc1JKvar_liste_sql_personne,Catalogue Visser Lampe A 2019rueducommerce Carrefour MUVpqSGz'&')::INTEGER AS id_personne) t LEFT JOIN md.TiretteEclairage Applique Murale Murale TiretteEclairage Electrique Murale A TiretteEclairage Applique A Applique A Electrique b7vIyf6gYpersonne USING(id_personne); ENDVente Achat Cher Ampoule Pas Edf QrsCxhdtB; $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"Eiffel Paris Illusion Color Lamp Flashing Night 7 Led Tower Lights 3d 2ebD9IHYEW;

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(observateurSur Oipzwxulkt Led Eclairage Piedlampe Exterieur 9HD2WEIY) gist_trgm_ops);

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

SELECT * FROMAmpoules Avec Couleurs Aluminium Rvb 7 E27 D'angle 3w De Changeantes 270 Télécommande Faisceau Led Lampe DY9WEH2beI saisie.saisie_observation WHERE md.Vente Achat Cher Ampoule Pas Edf QrsCxhdtBliste_nom_auteur(observateur) ILIKE '%BOSS%';

Tags: 

Achat Vente Pas De Lampe Cher Chien 5j4AL3R