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
