mysql统计信息收集设置

本文介绍了MySQL中innodb_stats_persistent参数对统计信息收集的影响。当该参数启用时,特定的统计收集方式生效;禁用时,则采用另一种方式。详细探讨了不同设置下的统计行为。
摘要由CSDN通过智能技术生成

innodb_stats_persistent决定两种收集方式

默认为on,指定InnoDB索引统计信息是否保存到磁盘。如果为off,那么在服务器重启或者一些其他操作时会清空之前的统计信息,其实就是清空mysql.innodb_table_stats和mysql.innodb_index_stats表数据。
当下一次表访问时再次重新计算,这可能会导致查询执行计划发生变化。
可以在创建表之前在全局级别设置innodb_stats_persistent,或者使用CREATE TABLE和ALTER TABLE语句的STATS_PERSISTENT子句覆盖系统范围的设置并配置各个表的持久性统计信息。


优化器统计信息内容记录在mysql.innodb_table_stats 和 mysql.innodb_index_stats,其中last_update列记录了统计信息最近一次更新时间,
可以手动修改mysql.innodb_table_stats和mysql.innodb_index_stats表来强制执行特定的查询优化计划,或者在不修改数据库的情况下测试替代计划。


当innodb_stats_persistent启用的情况下,以下参数才有效

innodb_stats_persistent_sample_pages
innodb_stats_auto_recalc


innodb_stats_auto_recalc
默认为on,InnoDB在表中的数据发生较大变化后自动重新计算持久性统计信息。阈值是表中的行的10%。此设置适用于启用innodb_stats_persistent选项时创建的表。
自动统计信息重新计算也可以通过在CREATE TABLE或ALTER TABLE语句中指定STATS_PERSISTENT = 1进行配置。
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值