博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql统计信息收集设置
阅读量:2498 次
发布时间:2019-05-11

本文共 1736 字,大约阅读时间需要 5 分钟。

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进行配置。
innodb_stats_persistent_sample_pages
默认20,估计索引列的基数和其他统计信息(例如ANALYZE TABLE计算的数据)时要抽样的索引页数。
增加该值可以提高索引统计的准确性,这可以改进查询执行计划,但会增加InnoDB表执行ANALYZE TABLE期间的IO。

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

innodb_stats_on_metadata
innodb_stats_transient_sample_pages
innodb_stats_on_metadata
当启用innodb_stats_on_metadata时,InnoDB会在SHOW TABLE STATUS等元数据语句或访问INFORMATION_SCHEMA.TABLES或INFORMATION_SCHEMA.STATISTICS表时更新非持久统计信息。 
禁用时,InnoDB在这些操作期间不会更新统计信息。
保持禁用设置可以提高具有大量表或索引的模式的访问速度。它还可以提高涉及InnoDB表的查询的执行计划的稳定性。
innodb_stats_transient_sample_pages
默认8,估计索引列的基数和其他统计信息(例如ANALYZE TABLE计算的数据)时要抽样的索引页数。缺省值为8.
增加该值可以提高索引统计的准确性,这可以提高查询执行计划的效率,同时打开InnoDB表或重新计算统计信息时会增加IO。
innodb_stats_persistent禁用时,以下操作会导致重新收集统计信息
1 运行analyze table
2 innodb_stats_on_metadata为on时,运行SHOW TABLE STATUS, SHOW INDEX或者查询INFORMATION_SCHEMA.TABLES和INFORMATION_SCHEMA.STATISTICS 
3 客户端启用--auto-rehash(默认启用)时,auto rehash也就是linux命令中的Tab键功能,会打开所有innodb表,而打开表的操作会导致统计信息重新收集
4 表第一次被打开时
5 上次更新以后,innodb内部检查到1/16的数据发生变化

转载地址:http://icbgb.baihongyu.com/

你可能感兴趣的文章
MFC中关于虚函数的一些问题
查看>>
根据图层名获取图层和图层序号
查看>>
规范性附录 属性值代码
查看>>
提取面狭长角
查看>>
Arcsde表空间自动增长
查看>>
Arcsde报ora-29861: 域索引标记为loading/failed/unusable错误
查看>>
记一次断电恢复ORA-01033错误
查看>>
C#修改JPG图片EXIF信息中的GPS信息
查看>>
从零开始的Docker ELK+Filebeat 6.4.0日志管理
查看>>
How it works(1) winston3源码阅读(A)
查看>>
How it works(2) autocannon源码阅读(A)
查看>>
How it works(3) Tilestrata源码阅读(A)
查看>>
How it works(12) Tileserver-GL源码阅读(A) 服务的初始化
查看>>
uni-app 全局变量的几种实现方式
查看>>
echarts 为例讲解 uni-app 如何引用 npm 第三方库
查看>>
uni-app跨页面、跨组件通讯
查看>>
springmvc-helloworld(idea)
查看>>
JDK下载(百度网盘)
查看>>
idea用得溜,代码才能码得快
查看>>
一篇掌握python魔法方法详解
查看>>