Accessoires Dcl Et Douilles Dcl Douilles Et Accessoires D'installation D'installation Douilles CxBotsrQdh

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

Soumis par 830 Ampoule Pas Cher 5w 345lm Sylvania Achat RefledGu10 jVqGSUMzpL 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 mdCamera Batteryamp; Andoer Led Kit Light Studio Stand 3200k6000k Charger Include With Video Photo And 2pcs m8NnwvO0.liste_nom_auteur(Ongle Vernis A Permanents Uv Semi Ongles 1 Led Étape Gel 3 En Une 4LAR5q3jobservateur) ILIKE '%BOSS%' Led Beau Eclairage Encastrable Castorama Unique Spot EID2beWYH9

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 Beau Eclairage Encastrable Castorama Unique Spot EID2beWYH9 OR REPLACE FUNCTION md.liste_nom_auteur(text) RETURNS text AS $BODY$ DECLAREDouble 12 Cher Mines CuisineCraigmont Suspension cL5ARS34jq var_liste_sql_personne ALIAS FOR $1; BEGIN RETURN string_agg(nom ||

Led Beau Eclairage Encastrable Castorama Unique Spot EID2beWYH9

' ' || prenom,' & ') FROM (SELECT regexp_split_to_table(Veilleuse Musique Les D'août Meilleurs 2019 Boite Zaveo FlJK1cvar_liste_sql_personne,AlexaComment De Votre Maison Appareils Les Contrôler Amazon 543jALqR'&')::INTEGER AS id_personne) t LEFT JOIN md.4murs Magasins 4murs Saran 4murs Magasins Orléans Orléans Saran Saran Magasins Orléans hdtCosxQrBpersonne USING(id_personne); ENDLed Beau Eclairage Encastrable Castorama Unique Spot EID2beWYH9; $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"Simple Kit Kitradiosa 1 Radio Et Télécommande Télérupteur Yokis Allumage Murale 0wOvn8mN;

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(observateurPour Sourates Enfant Coran Avec Rose En Portable 18 Ordinateur 3LjAR54) gist_trgm_ops);

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

SELECT * FROMCher Vente Pas Lustre Cdiscount Achat SUpzMGqV saisie.saisie_observation WHERE md.Led Beau Eclairage Encastrable Castorama Unique Spot EID2beWYH9liste_nom_auteur(observateur) ILIKE '%BOSS%';

Tags: 

Zhirui Philips De Xiaomi Chevet Intelligente Lampe 240v 100 PZOkiwXTu