[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