首页/数据/SQL 速查/InnoDB 持久化统计信息
本包目录(311 条)
查询基础33 条连接与子查询40 条聚合与窗口函数54 条函数速查60 条变更与事务52 条
性能与执行计划72 条

InnoDB 持久化统计信息

统计信息落盘并可配置采样:8.0 默认持久化,重启后不丢;理解自动重算与采样页数有助于计划稳定。

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

示例

示例
SHOW VARIABLES LIKE 'innodb_stats_persistent%';
SHOW VARIABLES LIKE 'innodb_stats_auto_recalc';

-- 表级声明
ALTER TABLE orders STATS_PERSISTENT=1, STATS_AUTO_RECALC=1,
  STATS_SAMPLE_PAGES=64;
innodb_stats_persistent8.0 默认 ON:统计信息持久化到磁盘
innodb_stats_auto_recalc变更行数超过一定比例时自动重新统计(异步)
STATS_SAMPLE_PAGES每索引采样页数,越大越准、代价越高

易错点

  • 频繁小改动后干等自动重算:自动重算有阈值与延迟,关键表批量变更后手动 ANALYZE TABLE
  • 把采样页数调得很大:ANALYZE 与后台重算的 IO 成本随之上升,按表的重要性分级设置

数据来源与参考

  • MySQL 8.0 Reference Manual · InnoDB Persistent Statistics
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌