这篇文章主要讲解了“怎么解决InnoDB Persistent Statistics问题”,一起来研究和学习“怎么解决InnoDB Persistent Statistics问题”

背景:
MySQL的优化器是通过innodb收集到的数据来选择最优的执行计划,但因为这些数据会随着某些操作而重新计算,造成执行计划会多次变化,出现不精确和不稳定的问题。
这些导致重新计算的操作有:
1.重启
2.访问表
3.表中数据改变(1/16 以上的DML)
4.show table status 及 show index for table
5.analyze table
6.and so on
为了解决这个问题,在mysql 5.6 时,加入了持续优化统计,不再自动重新统计,持续统计数据是作为系统表存储在innodb_table_stats和innodb_index_stats中的,在上次的分享中也有提到过。

1、对于所有innodb表,可以设置全局参数
全局参数:
innodb_stats_persistent 是否开启统计
innodb_stats_auto_recalc 自动重新统计
innodb_stats_persistent_sample_pages 随机取样页数
innodb_stats_on_metadata 该参数主要为元数据索引统计分析,如查询information_schema中的某些表,还有show table status 也会造成innodb 随机提取数据,很容易导致查询性能大幅抖动,在5.6之后的版本该参数已经很鸡肋了,不开启完全不影响数据统计的准确性。
2、单表
(1) stats_persistent 对于innodb表是否保证持续统计
ALTER TABLE table_name stats_persistent=1
默认是由innodb_stats_persistent选项决定的
(2) stats_auto_recalc 对于innodb表是否自动计算持续统计
默认是由innodb_stats_auto_recalc 选项决定的,为1 时,当有10%的数据发生改变时,就重新计算,按照我的测试大概超过10%
(3) stats_sample_pages 指定随机索引页的数量

InnoDB Persistent Statistics问题相关推荐

  1. mysql persistent_MySQL关于InnoDB的几个错误

    阿里云服务器上装有MySQL 5.6,这几天MySQL服务经常死掉,启动MySQL服务(service mysql start),却报如下错误 Starting MySQL.. ERROR! The ...

  2. 解决Mysql数据库提示innodb表不存在的问题

    转载来源 :解决Mysql数据库提示innodb表不存在的问题:https://www.jianshu.com/p/31cca5187ab2 发现mysql的error.log里面有报错: InnoD ...

  3. mysql istransient_由于 MySQL 版本问题导入报错

    问题: 导入 mysqldump导出的数据库时,错误日志报如下的错误 2018-09-03T01:49:15.741378Z 6 [ERROR] InnoDB: Column table_name i ...

  4. mysql 5.6.11 error 1059_mysql5.6.15问题如何解决

    nnoDB: Error: Table "mysql"."innodb_table_stats" not found. MySQL 5.6的ibdata1表空间 ...

  5. MySQL5.6 选项和变量整理

    MySQL5.6 选项和变量整理   --allow-suspicious-udfs 这个选项控制是否用户定义函数只有一个xxx符号用于主函数加载.默认,该选项是关闭并且只具有至少一个辅助符号的UDF ...

  6. mysql 数据库表重建_mysql 数据库表重建

    数据库内核月报 - 2015 / 09-MySQL · 捉虫动态 · 建表过程中crash造成重建表失败 问题描述 主库的create table语句传到备库,备库SQL线程执行过程中报错: Erro ...

  7. 线上Mysql重大事故快速应急解决办法

    由于好多公司节约成本都没有自己的DBA人员,大部分都是开发或者运维人员操作数据库,但数据库是重中之重,等公司达到一定规模之后,数据库一个不小心的事故,很有可能会让公司回到解放前.所以在公司小规模的时候 ...

  8. MySQL数据字典提示1146不存在的问题解决

    最近某套MySQL因为磁盘挂载问题,异常宕机,拉起后,数据库能正常访问了,但是在error.log一直提示这个错误, [ERROR] InnoDB: Table `mysql`.`innodb_tab ...

  9. zabbix报错排错大全

    1.在启动zabbix-agent 时系统日志输出 PID file /run/zabbix/zabbix_agentd.pid not readable (yet?) after star zabb ...

最新文章

  1. git--命令行放弃修改
  2. 服务器与浏览器数据传输过程中编码问题
  3. C++ Primer 5th笔记(chap 16 模板和泛型编程)模板实参
  4. 压缩命令tar cf xx.tar -C的正确用法
  5. 登录方式1:MySQL自带客户端
  6. Qt中基类widget的各个事件函数中包含了ignore()的调用
  7. 页面缓存处理的几种方法
  8. [视频演示].NET Core开发的iNeuOS物联网平台,实现从设备PLC、云平台、移动APP数据链路闭环...
  9. js之base64上传图片
  10. VC“cannot execute program”错误的解决方法
  11. 中兴的自毁与自救:封杀7年、禁用 Android,76岁创始人奔走前线!
  12. Debian从光盘apt-get
  13. 建模学习笔记(一)层次分析法模型学习及相关论文书写 清风数学建模
  14. Java SE 12 新增特性
  15. 推荐ietester工具
  16. 行走在数据库上的行癫(四)
  17. Bitwise Exclusive-OR Sequence
  18. his系统计算机软件,医院信息系统(HIS)
  19. iOS-通俗易懂的微信支付接入和爬坑指南,十分钟轻松搞完
  20. 纪念我的纪念--转正申请

热门文章

  1. 用户文件下载服务解决方案
  2. 力扣的组合总和解法 (Python)
  3. 计算机专业英语教程比较实用,计算机专业英语教程Unit1整理
  4. 图像处理(六)——图像压缩
  5. 苹果企业号-通过网页下载应用,部署应用分发服务器
  6. 2016计算机2级试题,2016年计算机二级考试题及答案
  7. 电磁兼容(EMC):工程师必备之硬件EMC设计规范
  8. 万物皆可健身环:UP主爆改switch,用健身环玩起《塞尔达传说之旷野「喘」息》...
  9. Python处理图像文件的实用姿势
  10. kNN算法实现手写数字识别(机器学习)