Différentes subtilités du GROUP BY en MySQL expliquées pour chacune des 4 versions. Variations sur un même thème expliquées ici!
Le but de cet article est d’optimiser une simple requête
(SELECT avg(Population) FROM city GROUP BY
CountryCode) et surtout de comprendre comment
l’optimiseur procède, en étudiant les résultats donnés par les
variables qui permettent de surveiller le serveur MySQL.
Le schéma utilisé est le schéma world téléchargeable
ici
Voici la structure de la table city:
SHOW CREATE TABLE city\G
*************************** 1. row
***************************
Table: city
Create Table: CREATE TABLE city (
ID int(11) NOT NULL AUTO_INCREMENT,
Name char(35) NOT NULL DEFAULT ”,
CountryCode char(3) NOT NULL DEFAULT ”,
District char(20) NOT NULL DEFAULT ”,
Population int(11) NOT NULL DEFAULT ‘0′,
PRIMARY KEY (ID)
) ENGINE=MyISAM …