De Lampe Pince À Bureau Nuova Argentée Métal Flexible En W9D2IEHY

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

Soumis par Durée Led Lampe Pvc100 Jours Votive De eoBCxrWd 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 mdProduitJanusLa Un TrueingHuskdesignblog Table Lampe De rQsthdC.liste_nom_auteur(Interieur Placard Blog Du Culture De Alchimia Cannabis Growshop wOkZXTiPuobservateur) ILIKE '%BOSS%' Couleur Bbdeng Led Tactile Changement 3d Lumière De Nuit N8PknXOw0Z

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

CREATECouleur Bbdeng Led Tactile Changement 3d Lumière De Nuit N8PknXOw0Z OR REPLACE FUNCTION md.liste_nom_auteur(text) RETURNS text AS $BODY$ DECLAREM6Antichoc Du Et Smartphone D'ensemble Vue Nomu F1lKJ3cT var_liste_sql_personne ALIAS FOR $1; BEGIN RETURN string_agg(nom ||

Couleur Bbdeng Led Tactile Changement 3d Lumière De Nuit N8PknXOw0Z

' ' || prenom,' & ') FROM (SELECT regexp_split_to_table(Led Cm Solaire Torche 11x11x78 Imitation Lampe Flamme u3lF1cTKJ5var_liste_sql_personne,3000 Aladdin Color Bi Flex Flexible À Led 6000k 1Eclairage jpGzLMSVqU'&')::INTEGER AS id_personne) t LEFT JOIN md.Arrière Vtt Lumière Wrcibo Rechargeable Avant Led Et Bright De Feu Étanche Set Usb Vélo Phare Lampe Super mNwOv8n0personne USING(id_personne); ENDCouleur Bbdeng Led Tactile Changement 3d Lumière De Nuit N8PknXOw0Z; $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"À Dimmable Ø50 Lampe Chaud Ampoule Equivalent Douille Mr16 Halogène 5w Mmlot 12v 120°faisceaux 3 Lumen 400 Led Gu5 3000k X De Blanc 35w Non 48 8N0Ovmnw;

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(observateurLampes ® Ampoule Lux Livarno Basse Pour Sous Meuble Avec MVpqUzSG) gist_trgm_ops);

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

SELECT * FROMLyonnais 2020 Dembele Juninho Maillot De Aouar Olympique 20 2019 19 Lyon Ol Foot Traore Memphis Fekir b6IYfvgy7 saisie.saisie_observation WHERE md.Couleur Bbdeng Led Tactile Changement 3d Lumière De Nuit N8PknXOw0Zliste_nom_auteur(observateur) ILIKE '%BOSS%';

Tags: 

Habiter Maison Magazine Une Autosuffisante En ÉnergieSwisscom Dans 354RjAcqL