On Wednesday 30 March 2005 18.24, Blaise Vogel wrote:
> Je me permets de clore le thread (en retard). J'ai pu enfin finir de
> comprendre la logique de Mysql.
> En premier lieu merci pour les infos.
> Explications:
> Avec la requ�te suivante:
> select a,b, sum(c*d) from ... where ... group by a,b
> Mysql a besoin d'une table temp. pour ex�cuter la requ�te, quelle que soit
> le volume de donn�e trait�. Aucune variable / optimisation n'y change rien
> Par contre la m�me requ�te sans le group by:
> select (c*d) from ... where ...
> Ne cr�e pas de table temp.
> Et ex�cute la requ�te en plus de temps !!!

Il faut bien stocker temporairement a,b, SUM(c*d) afin de calculer la somme de 
c*d pour chaque paire (a,b) avant de retourner le resultat.
Il pourait �tre insteressant de voir si il n'est pas plus rapide de faire une 
requ�te du style SELECT SUM(c*d) FROM ... WHERE a=xxx AND b=yyyy pour chaque 
paire (a,b).

> Je reste un peu dans l'expectative.
> A la prochaine occasion je tenterais les m�mes tests avec Postgresql,
> histoire de voir l'�volution du produit !
>
> Blaise Vogel
> _______________________________________________
> gull mailing list
> [email protected]
> http://lists.alphanet.ch/mailman/listinfo/gull

-- 
MuTECH, Martial Guex
Rue des Alpes 3
1452 Les Rasses
Switzerland
Phone:+41 (24) 454 46 35
Fax:+41 (24) 454 46 32
Email: [EMAIL PROTECTED]
_______________________________________________
gull mailing list
[email protected]
http://lists.alphanet.ch/mailman/listinfo/gull

Répondre à