mysql 统计信息收集,MySQL统计信息详解(改)

自动收集和手动收集,由参数innodb_stats_auto_recalc控制,默认为ON。

自动收集根据统计信息存储方式的不同有不同的触发条件。

关闭自动收集功能,需通过analyze table手动更新。MySQL统计信息存储方式分为:持久化和非持久化,由参数innodb_stats_persistent控制,默认为ON。

持久化会将统计信息保存至磁盘上。

非持久化仅将统计信息存储在内存中,当数据库重启后,统计信息将丢失。非持久化统计信息触发条件:

mysql.innodb_table_stats

mysql.innodb_index_statsMySQL统计信息如何计算:

MySQL的统计数据是基于采样数据估算的,不同存储方式的统计信息的采样大小由不同的参数控制:

持久化统计信息:innodb_stats_persistent_sample_pages,默认20pages

非持久化统计信息:innodb_stats_transient_sample_pages,默认8pages

也就是说在持久化统计信息下,当InnoDB更新优化程序统计信息时,它会对表中每个索引的随机页面进行采样,以估计索引的基数。根据官方文档介绍:需要扫描的统计信息大小为:innodb_stats_persistent_sample_pages的值*表中索引列的数量*分区数如果发现得出的执行计划不准确,可以通过增大采样大小来产生更准确的估计值。但是采样大小过大会导致生成统计时间过长,造成过多性能消耗。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值