详解MYSQL中的平均值组大小
文章目录
- 平均值组大小
-
- 了解平均值组大小
- MySQL什么时候会使用平均值组大小
- 平均值组大小对于索引选取的影响
平均值组大小
了解平均值组大小
总数据量 / 值组 = 平均值组大小
- 值组是一组具有相同键前缀值的行,及所有相等的键为一个值组。
- 总数据量为全表数据量
MySQL什么时候会使用平均值组大小
- 估算每次ref访问 必须读取多少行
(EXPLAIN中,type中的ref,访问索引时,同一个参数可能有多个相同的值) - 估计部分联接将产生多少行;也就是说,这种形式的操作将产生的行数:
select * from table_1 JOIN table_2 ON table_2.id = table_1.id;
平均值组大小对于索引选取的影响
随着索引的平均值组大小的增加,该索引在这两个用途中的作用不大,因为每次查找的平均行数增加。为了使索引更好地用于优化目的,最好将每个索引值作为目标表中的行数。
当某个索引会扫描大量的行时,该索引的用处不大,MySQL不太可能使用它。
例