MySQL统计信息查询慢问题分析
发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,起因在MySQL服务器运行mysqld_exporter后,发现数据库的中活跃连接数暴增,而且都是来自于mysqld_exporter的慢查询,语句如下:SELECT TABLE
千家信息网最后更新 2025年01月21日MySQL统计信息查询慢问题分析
起因
在MySQL服务器运行mysqld_exporter后,发现数据库的中活跃连接数暴增,而且都是来自于mysqld_exporter的慢查询,语句如下:
SELECT TABLE_SCHEMA, TABLE_NAME, TABLE_TYPE, ifnull(ENGINE, 'NONE') as ENGINE, ifnull(VERSION, '0') as VERSION, ifnull(ROW_FORMAT, 'NONE') as ROW_FORMAT, ifnull(TABLE_ROWS, '0') as TABLE_ROWS, ifnull(DATA_LENGTH, '0') as DATA_LENGTH, ifnull(INDEX_LENGTH, '0') as INDEX_LENGTH, ifnull(DATA_FREE, '0') as DATA_FREE, ifnull(CREATE_OPTIONS, 'NONE') as CREATE_OPTIONS FROM information_schema.tables WHERE TABLE_SCHEMA = 'xxx';
分析
1.在该数据库执行该语句,执行时间非常慢
102 rows in set (6.35 sec)
2.在该数据库的从库执行,结果却完全不一样
102 rows in set (0.01 sec)
3.这个时候就可以确定应该跟MySQL统计信息有关。
查看MySQL统计信息相关介绍:https://blog.csdn.net/n88Lpo/article/details/79144495
4.查看主从数据库的参数,发现差异
##主库mysql> show variables like 'innodb_stats_on_metadata';+--------------------------+-------+| Variable_name | Value |+--------------------------+-------+| innodb_stats_on_metadata | ON |+--------------------------+-------+1 row in set (0.00 sec)##从库mysql> show variables like 'innodb_stats_on_metadata';+--------------------------+-------+| Variable_name | Value |+--------------------------+-------+| innodb_stats_on_metadata | OFF |+--------------------------+-------+1 row in set (0.00 sec)
5.确定原因为每次查询时都会对统计信息进行更新。
查看MySQL官方文档 https://dev.mysql.com/doc/refman/5.7/en/innodb-statistics-estimation.html
非持久化统计信息在以下情况会被自动更新 |
---|
1 执行ANALYZE TABLE |
2 innodb_stats_on_metadata=ON情况下,执SHOW TABLE STATUS, SHOW INDEX, 查询 INFORMATION_SCHEMA下的TABLES, STATISTICS |
3 启用--auto-rehash功能情况下,使用mysql client登录 |
4 表第一次被打开 |
5 距上一次更新统计信息,表1/16的数据被修改 |
解决
修改参数innodb_stats_on_metadata
mysql> set global innodb_stats_on_metadata=0;Query OK, 0 rows affected (0.00 sec)
信息
统计
数据
数据库
查询
情况
更新
参数
语句
分析
主从
功能
原因
官方
差异
文档
时候
时间
服务器
第一次
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
西安中兴软件开发招聘
软件开发课程基础
启明的天清汉马服务器
网络安全之假冒热点
网络安全手抄报高中一等奖
csgo换图检索服务器
软件开发不想笔试
软件开发运营策划哪个薪金高
珠海互联网科技金融企业流程
ftp服务器状态
医保网络安全自检自查报告
app有自带数据库吗
中思海辉邮箱服务器怎么填写
csgo社区服务器地址怎么进
梁平区一站式软件开发流程市场价
贺州软件开发外包
云安全管理平台的云数据库
命运2服务器链接已断开
优秀软件开发 评语
zcms 数据库
ptl系统服务器
日本软件开发 职位
软件开发前期文档
数据库结构案例
联想sr868服务器参数
服务器启用不了网络发展
九江网络安全管理公司
路由器转发信息数据库
科技互联网博览会
服务器cpu上电掉电