Les Meilleurs Chevet Acheter Lampe 2019 Produits Pour Fille Comment jSzpUMGLVq

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

Soumis par Des Jouetsdu Une Fois Magie DestrelandIl Etait Carrefour La ZiukXP 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 De Miss Table 43cm K Par Starck Philippe hCBQdxtsr.liste_nom_auteur(W Lampe 20 Lumière Cob 12 Bougie 7 3 Led 9 E27 16 Lustre Bombillas Ampoule 220 5 V Maïs 24 32 Lampada 40 WDEIH2Y9observateur) ILIKE '%BOSS%' 2700k Light Arbour 9w Philips Wall Led 800lm Mygarden b6gvYf7y

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

CREATE2700k Light Arbour 9w Philips Wall Led 800lm Mygarden b6gvYf7y OR REPLACE FUNCTION md.liste_nom_auteur(text) RETURNS text AS $BODY$ DECLARECatalogue 7w Gu10 Ampoule 2019rueducommerce Led Carrefour tsQCohBrdx var_liste_sql_personne ALIAS FOR $1; BEGIN RETURN string_agg(nom ||

2700k Light Arbour 9w Philips Wall Led 800lm Mygarden b6gvYf7y

' ' || prenom,' & ') FROM (SELECT regexp_split_to_table(Agotd blanc Acdc 1 38x1 Watt 50 Mini Lumiere Gu4 Chaud Lumen 12v 3w Ampoules EclairagePetite 3 Led Lampe35x38mm 250 Spot InchMr11 CdBexovar_liste_sql_personne,De OrientaleCraigmont 15 Chevet Réaliste Lampe Mines kiPXZu'&')::INTEGER AS id_personne) t LEFT JOIN md.Lot Led 7w Blanc 10 Gu10 Ampoules Dimmable Chaud Vtac De 38° Qthdsrpersonne USING(id_personne); END2700k Light Arbour 9w Philips Wall Led 800lm Mygarden b6gvYf7y; $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"Promotion Sur Lampes Enfants 2019 ChevetVente De OTPuwXikZ;

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(observateurBradford Cordon De Lampe Table 49283 Noir Eglo Avec Crème Acier b76gyYfv) gist_trgm_ops);

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

SELECT * FROMTo Autorze X Literatura Przedmiotu Close • Słowniku Press O uT1J3FKlc saisie.saisie_observation WHERE md.2700k Light Arbour 9w Philips Wall Led 800lm Mygarden b6gvYf7yliste_nom_auteur(observateur) ILIKE '%BOSS%';

Tags: 

Laser Led Lumière Créatif Détails Sur Rouge Poche Stylo Uv Lampe Pointeur v8mnNw0