[gull] Pas de parcours d'index postgresql
Frédéric Benninger
benninger at sunrise.ch
Wed Jun 10 11:23:20 CEST 2009
Le 10 juin 2009 10:25, Daniel Cordey<dc at mjt.ch> a écrit :
> On Wednesday 10 June 2009 10:01:08 Frédéric Benninger wrote:
>
>> SELECT * FROM temperature ORDER BY date DESC LIMIT 1;
>> Durée totale d'exécution de la requête :30 ms.
>
> Et quel est le temps d'exécution si tu fais :
>
> SELECT * FROM temperature ORDER BY date ASC LIMIT 1;
Durée totale d'exécution de la requête :30 ms.
L'indexation est utilisé indépendamment de l'ordre du tris. Explain est formel
Limit (cost=0.00..0.03 rows=1 width=26)
-> Index Scan Backward using temperature_tms_idx on temperature
(cost=0.00..192733.79 rows=7023170 width=26)
> Aussi, il n'est pas recommande d'appeler une colonne 'date'. Cela
> interfere souvent avec le mot reserve 'date'; et oblige a manipuler le nom de
> la colonne entre `` dans les commandes SQL (sous peine d'avoir des
> surprises)...
Merci du tuyau, je n'y avais pas pensé, le SGBD ne m'a pas insulté au
moment du CREATE TABLE.
Par simple curiosité:
EXPLAIN SELECT max("date") FROM temperature;
Aggregate (cost=145811.63..145811.63 rows=1 width=8)
-> Seq Scan on temperature (cost=0.00..128253.70 rows=7023170 width=8)
Malheureusement pas de changement.
More information about the gull
mailing list