| Optimisation des commandes SELECT et autres requêtes <<< | Scan restreint d'index | Scan d'index systématique >>> | 
| 7.2.11 Comment MySQL optimise les clauses GROUP BY 7.2 Optimisation des commandes SELECT et autres requêtes 7 Optimisation de MySQL Manuel de Référence MySQL 4.1 : Version Française ->Scan restreint d'index . Scan d'index systématique | 7.2.11.1 Scan restreint d'index
 Le plus efficace est lorsque l'index sert à lire directement un groupe de champs. Avec cette méthode d'accès, MySQL exploite la propriété de certains types d'index comme les B-Tree, pour lesquels les clés sont triées. Cette propriété permet la recherche de groupsa dans un index en omettant d'autres clés pour satisfait toutes les conditions de la clause WHERE . Comme cette méthode d'accès ne prend en compte qu'une fraction de toutes les clés d'un index, elle est appelée ``scan restreint d'index'', ou loose index scan . Lorsque qu'il n'y a pas de clause WHERE , un scan restreint va lire autant de clé que de groupe, ce qui peut être un nombre inférieur au nombre de clés. Si la clause WHERE contient des prédicats d'intervalles (indiqués dans Syntaxe de EXPLAIN (Obtenir des informations SELECT ) , dans la colonne range ), un scan restreint d'index analysera la première clé de chaque groupe qui satisfont les conditions d'intervalle, et lira ainsi le minimum possible de clé. Cela est rendu possible dans les conditions suivantes : 
 Le résultat de EXPLAIN pour ces requêtes affiche la valeur Using index for group-by dans la colonne Extra .Les requêtes suiavntes sont autant d'exemple qui sont éligibles, en supposant qu'il existe un index idx(c1, c2, c3) sur la table t1(c1,c2,c3,c4) : 
 
 | 
| << | Scan restreint d'index | >> | 
| Optimisation des commandes SELECT et autres requêtes | Comment MySQL optimise les clauses GROUP BY | Scan d'index systématique |