首页/数据/数据库速查/统计信息与 ANALYZE TABLE
性能与调优57 条

统计信息与 ANALYZE TABLE

优化器选索引靠统计信息:innodb_stats_persistent 让统计落盘稳定(8.0 默认开),大批量导入/删除后要主动 ANALYZE。

数据库速查数据更新于 2026-10-12

查看与维护

查看与维护
SHOW VARIABLES LIKE 'innodb_stats%';
ANALYZE TABLE orders;                       -- 重建统计信息
SHOW TABLE STATUS LIKE 'orders'\G          -- 看 Cardinality 估算
SELECT * FROM mysql.innodb_table_stats WHERE table_name='orders'\G
innodb_stats_persistent8.0 默认 ON,统计持久化
auto_recalc变更 10% 触发自动重算
更新时机大批量 DML、DDL 之后手动 ANALYZE
执行计划突然走错索引,先怀疑统计信息:大导入后 ANALYZE 往往立刻恢复;也能用 EXPLAIN 与 EXPLAIN ANALYZE 对比验证。

易错点

  • 以为自动统计永远够用:超过阈值的批量变更后计划可能长期跑偏
  • ANALYZE 大表在高峰期执行,采样读放大 IO,安排在低峰

数据来源与参考

  • MySQL 8.0 Reference Manual: InnoDB Persistent Statistics

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌