From: | Sébastien Lardière <seb(at)ouvaton(dot)org> |
---|---|
To: | pgsql-fr-generale(at)postgresql(dot)org <pgsql-fr-generale(at)postgresql(dot)org> |
Subject: | Re: Temps de réponse |
Date: | 2004-07-28 12:55:46 |
Message-ID: | 20040728145546.4878217b@localhost |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-fr-generale |
Le Wed, 28 Jul 2004 14:24:47 +0200
Eric HAGENBACH <eric(dot)hagenbach(at)vif(dot)tm(dot)fr> a écrit :
> >>Where (T1.C1 = 'XX' and T1.C2 = '99' and T1.C3 = 'ZZZ' and (T1.C4 IN
> >>('AA','BB'))
> Ce sont des champs de type "chaine de caractères" (character varying(5)
> pour le champs C2 par exemple)
>
> Par contre quand je regarde la description de la vue sous psql (\d
> nomvue), le where est indiqué de la façon suivante:
> where T1.C1::text = 'XX'::text (c'est valable pour tous les champs de la
> condition). Est-ce que ça joue ?!?
Oui, je pense que ca joue beaucoup, même. Un index sur un type 'text',
c'est déjà lourd, alors en plus avec des milliers de ligne et dans une
requete complexe !
On ne le dira jamais assez, mais les choix de conceptions sont
primordiaux pour la bonne tenue de la base de données. Ce n'est pas pour
rien qu'il y a plusieurs types de données disponibles, encore faut-il
s'en servir !
Je serais toi, je commencerais par revoir completement les schémas de la
base. De plus, tu utilises les Drivers ODBC, qui n'est pas ce qu'il y a
de plus rapide, malheureusement ...
--
Sébastien Lardière
From | Date | Subject | |
---|---|---|---|
Next Message | Eric HAGENBACH | 2004-07-28 13:45:33 | Re: Temps de réponse |
Previous Message | Eric HAGENBACH | 2004-07-28 12:24:47 | Re: Temps de réponse |