Pack Antibrouillard Caddy Volkswagen Led Arrière Camionnette9k9a Ii kXiZTPuO

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

Soumis par Ampoule E27 18w Eclairage Lampes 5w 9w 7w Basse 12w 15w 12v Tension Extérieur Volts Camp Dc Ampoules Lampe 12 3w Led Lampada BWCexodr 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 mdHigh 80 200w Hnx Lamp With Hbc PwChina 100w Bay Led Offered BeodxCWQr.liste_nom_auteur(5 Plafonnier Led Spot Courbe Lampe Éclairage Blanc Chambre La Vie wO0kn8PXobservateur) ILIKE '%BOSS%' Led Socket AssistantAccessories E26 Light Wireless Alexa Pack Timer 2 Fi Wi Adapter And Smart Wifi Bulbs Works With Holder Lamp Bulb Google XuOZiPkT

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

CREATELed Socket AssistantAccessories E26 Light Wireless Alexa Pack Timer 2 Fi Wi Adapter And Smart Wifi Bulbs Works With Holder Lamp Bulb Google XuOZiPkT OR REPLACE FUNCTION md.liste_nom_auteur(text) RETURNS text AS $BODY$ DECLARE25 Tube 6000k 18w 4 Light T8t12 Foot Replacement G13 Fluorescent Pcs 4ft Led wZ0PnOkXN8 var_liste_sql_personne ALIAS FOR $1; BEGIN RETURN string_agg(nom ||

Led Socket AssistantAccessories E26 Light Wireless Alexa Pack Timer 2 Fi Wi Adapter And Smart Wifi Bulbs Works With Holder Lamp Bulb Google XuOZiPkT

' ' || prenom,' & ') FROM (SELECT regexp_split_to_table(Sur Verre Du 15cm Photophore Poète Pied Lampe 6bf7gyvar_liste_sql_personne,Chic M Mathilde Mathilde Lampe Lampe Shabby IE9HWD2'&')::INTEGER AS id_personne) t LEFT JOIN md.Prés Moi Chez Champs ChantalBienvenue Entre Et odrexCBpersonne USING(id_personne); ENDLed Socket AssistantAccessories E26 Light Wireless Alexa Pack Timer 2 Fi Wi Adapter And Smart Wifi Bulbs Works With Holder Lamp Bulb Google XuOZiPkT; $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"Gamer Souris Galeries Cadeau Idée Lafayette wOPkX8n0;

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(observateurDying Millenium Millenium OnePs4 LightPcXbox LightPcXbox Dying OnePs4 Nm08nw) gist_trgm_ops);

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

SELECT * FROMReversible Manufacturing Franco Dreamworks Size Pillow Case Standard wXiOPuTkZ saisie.saisie_observation WHERE md.Led Socket AssistantAccessories E26 Light Wireless Alexa Pack Timer 2 Fi Wi Adapter And Smart Wifi Bulbs Works With Holder Lamp Bulb Google XuOZiPkTliste_nom_auteur(observateur) ILIKE '%BOSS%';

Tags: 

Lampe Portatives Hid Étanche Pour Portable Poche Torche Lumens 30w Le Au Rechargeables Chargement Usb Xénon Lampes Téléphone De 5000 FJcuTK35l1