详解MYSQL中的平均值组大小

文章目录

  • 平均值组大小
    • 了解平均值组大小
    • MySQL什么时候会使用平均值组大小
    • 平均值组大小对于索引选取的影响

平均值组大小

了解平均值组大小

总数据量 / 值组 = 平均值组大小

  • 值组是一组具有相同键前缀值的行,及所有相等的键为一个值组
  • 总数据量为全表数据量

MySQL什么时候会使用平均值组大小

  1. 估算每次ref访问 必须读取多少行
    (EXPLAIN中,type中的ref,访问索引时,同一个参数可能有多个相同的值)
  2. 估计部分联接将产生多少行;也就是说,这种形式的操作将产生的行数:
    select * from table_1 JOIN table_2 ON table_2.id = table_1.id;

平均值组大小对于索引选取的影响

随着索引的平均值组大小的增加,该索引在这两个用途中的作用不大,因为每次查找的平均行数增加。为了使索引更好地用于优化目的,最好将每个索引值作为目标表中的行数。
当某个索引会扫描大量的行时,该索引的用处不大,MySQL不太可能使用它。

你可能感兴趣的:(mysql,数据库)