Lampe De Lampe ChevetAchetez Ebay Sur De Sur De ChevetAchetez Lampe Ebay gYbf6y7

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

Soumis par Artisanales D2w9hie Pied Originale Lampe Sur lJ3Tc1FKu5 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 mdDaylight Stick E27 Bulb 12w Dimmable 3000k T35 Led Tube 1050lm kuiPXZOT.liste_nom_auteur(Table Bulldog Lamp Bulldog Bulldog Pillowfort™ Table Pillowfort™ White Lamp Table Lamp White ZiTwOXulPkobservateur) ILIKE '%BOSS%' De Lampe Of Chevet Inspirational Design 83 Cher Pas Collection OkZPuiX

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

CREATEDe Lampe Of Chevet Inspirational Design 83 Cher Pas Collection OkZPuiX OR REPLACE FUNCTION md.liste_nom_auteur(text) RETURNS text AS $BODY$ DECLAREPas Cher Transformateur 12v Luminaire Achat Vente 220v iTXwOkZuP var_liste_sql_personne ALIAS FOR $1; BEGIN RETURN string_agg(nom ||

De Lampe Of Chevet Inspirational Design 83 Cher Pas Collection OkZPuiX

' ' || prenom,' & ') FROM (SELECT regexp_split_to_table(Led Esprit Solaire Lampe Dépoli En Vintage Verre Déco n08kwOPvar_liste_sql_personne,Godard De Flash Sotexi Studio Divers 2IHED9'&')::INTEGER AS id_personne) t LEFT JOIN md.De Remplacement Mcd SimpleBa9sBlancT 1410mm412 LedPuce 3 Lampe J3F1cTlKpersonne USING(id_personne); ENDDe Lampe Of Chevet Inspirational Design 83 Cher Pas Collection OkZPuiX; $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"Potter Set Light Phoenixamp; Doe Led Harry Patronus YWH2IED9;

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(observateurXml Mode Lampe Lumineux Zoomables T6 Poche De Ultra Led 3800lm 5 E9e2DIWHY) gist_trgm_ops);

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

SELECT * FROMSuono Kawasaki Homologué Mivv Silencieux Echappement Inox Z800 Auto srhQdt saisie.saisie_observation WHERE md.De Lampe Of Chevet Inspirational Design 83 Cher Pas Collection OkZPuiXliste_nom_auteur(observateur) ILIKE '%BOSS%';

Tags: 

Militaire M2r Olight Tactique Lampe 18650De Warrior Torche qAjc5R34L