5.5.1 找到并修复损坏的表
表损坏 corruption:
- 使用
CHECK TABLE
检查是否发生了表损坏 - 使用
REPAIR TABLE
命令来修复损坏的表
使用重建表来修复:
ALTER TABLE innodb_tbl ENGINE=INNODB;
5.5.2 更新索引统计信息
MySQL 的查询优化会通过两个 API 来了解存储引擎的索引值的分布信息:
records_in_range()
查询指定范围的记录数info()
返回各种类型的数据
MySQL 优化器使用基于成本的模型.
ANALYZE TABLE
重新生成统计信息
查看基数:
InnoDB 通过抽样的方式来计算统计信息.
5.5.3 减少索引和数据的碎片
B-Tree 需要随机磁盘访问才能定位到叶子页.
数据碎片的类型:
通过 OPTIMIZE TABLE
来重新整理数据.