[gull] Optimisation Mysql

Martial Guex m.guex at mutech.ch
Thu Mar 31 00:42:02 CEST 2005


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
> gull at lists.alphanet.ch
> 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: m.guex at mutech.ch



More information about the gull mailing list