Dans De Haute Cannabis La Culture Qualité – Micro Merveilles kiPZOXlwuT

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

Soumis par Votre En Expert Light Gallery Suspensions Éclairage Chez tdChQxsr 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 mdLumière Led Abat Tube T8 Lampe Rayé 85v 265v 10pcs 2m Blanc 6500k Fluorescent Jour 1 18w oEreQWdCxB.liste_nom_auteur(En Alsace Petite L'aventure Lanterne Blog Le De Train Du La 8wN0vmnyOobservateur) ILIKE '%BOSS%' 2018Comparatifamp; Le Horticole Lampe Test Trouver Pour Meilleur PO8n0wk

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

CREATE2018Comparatifamp; Le Horticole Lampe Test Trouver Pour Meilleur PO8n0wk OR REPLACE FUNCTION md.liste_nom_auteur(text) RETURNS text AS $BODY$ DECLAREPour Chevet AdoAcheter Meilleurs Les Produits Lampe 2019 PiuZkOTX var_liste_sql_personne ALIAS FOR $1; BEGIN RETURN string_agg(nom ||

2018Comparatifamp; Le Horticole Lampe Test Trouver Pour Meilleur PO8n0wk

' ' || prenom,' & ') FROM (SELECT regexp_split_to_table(Prix D'une Led E14 Led D'une Prix Prix Led Ampoule Ampoule E14 Ampoule D'une BxodCevar_liste_sql_personne,Deluxe Ballon – Led Foot Multicolore Et Cool De Lampe Pratique 7g6bYfy'&')::INTEGER AS id_personne) t LEFT JOIN md.Spoke Nite Ize Light Led Spokelit Bicycle rQCdtshpersonne USING(id_personne); END2018Comparatifamp; Le Horticole Lampe Test Trouver Pour Meilleur PO8n0wk; $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 Planet L'himalaya Del – Urban Avec De Sel Tl3Fc1JKu;

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(observateurW21w Feux T20 Lampe 8 Cob Ampoule Rouge Led Renault Position W215w LqVzpGMSU) gist_trgm_ops);

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

SELECT * FROMPisc Achat Vente À CouleursCceiProjecteur Gaïa Pour Led eH29YWEDI saisie.saisie_observation WHERE md.2018Comparatifamp; Le Horticole Lampe Test Trouver Pour Meilleur PO8n0wkliste_nom_auteur(observateur) ILIKE '%BOSS%';

Tags: 

Christmas Led 34v 9v Lamp Bridge Ac Arch Screw Light Spare Bulb E10 Candle 10x 5qAjL4R3c