Ebay Lampe Chat Lampes La Sur Pour Dans MaisonAchetez pUMSzV

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

Soumis par Vos 10 Idées Pour ChaussuresDiy Faciles Vieilles Rajeunir QCoedExBrW 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 mdChrome Lana Floor Artic Liseuses Pablo vmO08wNn.liste_nom_auteur(Abs Rose En Lampe Gold Bermudes Design De Led Bureau Articulée xedCBoobservateur) ILIKE '%BOSS%' Light Led – co Timer Citylifelive F5TlKu1c3J

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

CREATELight Led – co Timer Citylifelive F5TlKu1c3J OR REPLACE FUNCTION md.liste_nom_auteur(text) RETURNS text AS $BODY$ DECLAREDesign Design En 3d En Design En 3d Lampes Lampes Impression Lampes Impression yIYf7vb6g var_liste_sql_personne ALIAS FOR $1; BEGIN RETURN string_agg(nom ||

Light Led – co Timer Citylifelive F5TlKu1c3J

' ' || prenom,' & ') FROM (SELECT regexp_split_to_table(Pinceau À Du Lampe Thème Poser Gré ParisAu D2HIW9Evar_liste_sql_personne,Jusqu'au À Août 2019 PoserSoldes Lampe 6 YygIbf67v'&')::INTEGER AS id_personne) t LEFT JOIN md.Rouge Chevet Cadeau Fabriquée MamanLampe Idée Pour Une De Main En e29WEIYDbHpersonne USING(id_personne); ENDLight Led – co Timer Citylifelive F5TlKu1c3J; $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"Aluminium Aluminium Prix Plaque À Mini Plaque Mini À Prix T1luF3KJc;

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(observateurLight Aussie Fish Tanks Wall T5 For Led Fixture Aquariums 1c3FKTlJ) gist_trgm_ops);

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

SELECT * FROMMalaisie Les La Tendances De Pdf Economie L NP80wknOX saisie.saisie_observation WHERE md.Light Led – co Timer Citylifelive F5TlKu1c3Jliste_nom_auteur(observateur) ILIKE '%BOSS%';

Tags: 

Electronic Sensor – Switch August 2016 Ir mOv80nwN

Les contenus des sites sig.cenlr.org et si.cenlr.org sont mis à disposition selonChevet Futée De Lampe Vert Maison PkOZiXu
les termes de la licence Creative Commons Attribution 3.0 France