[gull] Pas de parcours d'index postgresql
Daniel Cordey
dc at mjt.ch
Wed Jun 10 10:25:12 CEST 2009
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'execution si tu fais :
SELECT * FROM temperature ORDER BY date ASC LIMIT 1;
> J'ai un peu chercher comment était déclaré la fonction max (stable,
> volatile, etc. ) mais je ne l'ai pas trouvé
Je ne suis de loin pas specialiste postgres, mais j'ai deja constate que
l'ordre de tri peut avoir une importance enorme sur les performances des bases
de donnees. Je sais bien que la commande au-dessus ne donne pas le resultat
escompte, mais c'est juste pour savoir si la fonction max ne dependait pas de
cet ordre. Aussi, tu pourais stocker la date en secondes, plutot qu'en 'date',
ce qui te permettrait d'indexer un entier plutot qu'une entite date plus
complexe. MySQL traite aussi les dates de maniere parfois surprenante; toute
operation sur une colonne de type 'date', meme indexe, peut s'averer
couteuse... 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)...
dc
More information about the gull
mailing list