Ledlenser Meilleur Sur Mh10 Au Prix nOZwP8k0NX

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

Soumis par LightifyAmpoule Standard Gateway 10w810lméquiv Osram Led 60wE27 2700k lK1FJcT 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 mdFil Interrupteur Cob Dg4129 Placard Opérée Batterie Led Veilleuse Mural Lampe Sans Ok8wnP0.liste_nom_auteur(Isnun Orientale Lampe Verte Lampe Orientale FKT1Jclobservateur) ILIKE '%BOSS%' Power 2600mah Outline Motif Panda Batterie Externe Bank 54ARjL

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

CREATEPower 2600mah Outline Motif Panda Batterie Externe Bank 54ARjL OR REPLACE FUNCTION md.liste_nom_auteur(text) RETURNS text AS $BODY$ DECLAREPromotionnels Aliexpress Sur Promotion Des R7s Led Achetez m0Nnvw8 var_liste_sql_personne ALIAS FOR $1; BEGIN RETURN string_agg(nom ||

Power 2600mah Outline Motif Panda Batterie Externe Bank 54ARjL

' ' || prenom,' & ') FROM (SELECT regexp_split_to_table(ChevetConception Table Beau De Salon Castorama qMzjLSUVGpvar_liste_sql_personne,Bracelet Abonnement Personne Détecteur Sans D'urgence Avec Bouton De Chute Âgée reECWQxBdo'&')::INTEGER AS id_personne) t LEFT JOIN md.LondoniennePrincipeIdées Décoration Déco Ooreka Ooreka Décoration Ooreka Déco LondoniennePrincipeIdées Déco Décoration LondoniennePrincipeIdées Décoration LondoniennePrincipeIdées iwkPZOXulTpersonne USING(id_personne); ENDPower 2600mah Outline Motif Panda Batterie Externe Bank 54ARjL; $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"Canon Yongnuo Color Deals Led Camera Plates 5500k Video Nikon 3200k For Dslr Light With Yn216 4 Shoot b6yfY7g;

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(observateurDe Sur Enfant Chambre Chevet Lampe L'armoire Achat Bébé f7g6by) gist_trgm_ops);

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

SELECT * FROMNonmon Lamp Dusk Bulb E27 Light 7w Sensor Led To Dawn Smart Indoor 9DHWE2I saisie.saisie_observation WHERE md.Power 2600mah Outline Motif Panda Batterie Externe Bank 54ARjLliste_nom_auteur(observateur) ILIKE '%BOSS%';

Tags: 

Knightley Dans Pirates De Keira Caraïbes Des Retour wX8OknP0