MySQL统计信息查询慢问题分析
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,起因在MySQL服务器运行mysqld_exporter后,发现数据库的中活跃连接数暴增,而且都是来自于mysqld_exporter的慢查询,语句如下:SELECT TABLE
千家信息网最后更新 2025年11月07日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安全错误
数据库的锁怎样保障安全
计算机网络技术什么的
360网络安全防护自动关闭
证监会证券期货数据库
1u 服务器 显卡
摄像头网络安全检查
倩女ol有外国服务器吗
游戏软件开发项目技术编制要点
宝德服务器管理口默认ip
苹果系统用什么软件开发的
保障网络安全的措施函
2018年网络安全单选
不同数据库的文件识别
智能养老平台软件开发
北京交通大学与网络技术学院
挂接服务器
数据库单价用什么字符
数据库简单计算
深圳优拍档网络技术有限公司
南平办公软件开发公司
软件开发服务费和技术服务费发票
网络安全培训观后感
服务器网络丢包
不安全的前沿数据库怎么挖
金融机构网络安全案例分析
网络硬盘存储服务器
熟悉键盘软件开发
移动服务器密码什么时候需要
金税盘安全接入服务器地址浙江
用友 服务器
对峙二私人服务器