NOTE
1.17 MySQL统计数据
1. MySQL统计数据是什么 MySQL查询成本基于统计数据计算的 2. 统计数据有哪些 2.1. 基于磁盘的永久性统计数据 - 这种统计数据存储在磁盘上,也就是服务器重启之后这些统计数据还在。 2.1.1. 存放位置 - 存放在两个表里 - innodb table stats 存储了关于 表
这是历史学习笔记,可能存在过时或不完整的理解。
1. MySQL统计数据是什么
MySQL查询成本基于统计数据计算的
2. 统计数据有哪些
2.1. 基于磁盘的永久性统计数据
- 这种统计数据存储在磁盘上,也就是服务器重启之后这些统计数据还在。
2.1.1. 存放位置
- 存放在两个表里
innodb_table_stats存储了关于表的统计数据,每一条记录对应着一个表的统计数据。innodb_index_stats存储了关于索引的统计数据,每一条记录对应着一个索引的一个统计项的统计数据
2.1.2. 如何更新
- 开启
innodb_stats_auto_recalc- 发生变动的记录数量超过了表大小的 10% ,那么就会更新
- 手动调用
ANALYZE TABLE语句来更新统计信息
2.2. 基于内存的非永久性统计数据
- 这种统计数据存储在内存中,当服务器关闭时这些这些统计数据就都被清除掉了,等到服务器重启之后,在某些适当的场景下才会重新收集这些统计数据