TDSQL for MySQL修改统计信息参数

在日常运维及性能分析中,我详细很多朋友都遇到过执行计划选错索引,统计信息更新不及时,优化器判断错误等场景。

在 MySQL 架构中,InnoDB 管理数据并维护统计信息,Server 层优化器则基于这些统计信息生成执行计划。当 innodb_stats_notify_change = OFF 时,即使 InnoDB 在后台自动更新了统计信息(比如索引区分度 rec_per_key),也不会主动通知优化器,优化器会继续使用缓存的旧统计信息来生成计划。如果再叠加上 txsql_recalc_table_stats_after_manual_close = OFF,那么即使表被手动关闭后重新打开,也不会触发统计信息重算,进一步加剧了统计信息陈旧的问题,最终导致选错索引

一、检查参数

可以通过赤兔检查、也可以登录实例检查,接下来以赤兔为例

​​​

执行SQL检查

show variables like 'innodb_stats_notify_change'; show variables like 'txsql_recalc_table_stats_after_manual_close';

sql 复制代码
show variables like 'innodb_stats_notify_change';
show variables like 'txsql_recalc_table_stats_after_manual_close';

二、登录DB节点进行修改

示例以这个实例为基础,生产环境请改成对应的端口

修改参数

切记换成对应的实例端口号和set_id

需要修改的参数如下

.../conf/mysqlagent_4006.xml 换成对应的端口

--name=set_1778464209_8 换成对应的set_id

bash 复制代码
#进入工具目录,请选择相对应的端口 
cd /data/tdsql_run/4006/mysqlagent/bin/ 
#执行命令修改第一个参数,请注意修改实际的set_id
./mysql_param_modify --agent-conf='../conf/mysqlagent_4006.xml' --mode='modify' \ --param='param=innodb_stats_notify_change&value=ON' \ --name='set_1778464209_8'

完成后会出现Success! 和参数value变成ON

修改第二个参数,只需要改变--param值即可

bash 复制代码
#进入工具目录,请选择相对应的端口 
cd /data/tdsql_run/4006/mysqlagent/bin/ 
#执行命令修改第一个参数,请注意修改实际的set_id 
./mysql_param_modify --agent-conf='../conf/mysqlagent_4006.xml' --mode='modify' \ --param='param=txsql_recalc_table_stats_after_manual_close&value=ON' \ --name='set_1778464209_8'

三、登录赤兔检查

执行同样的SQL

sql 复制代码
show variables like 'innodb_stats_notify_change'; 
show variables like 'txsql_recalc_table_stats_after_manual_close';

相关推荐
风哥2号4 分钟前
达梦DM数据库恢复工具FGDDU(FGEDU DM DUL)
数据库·达梦数据库·数据库恢复
2601_960017621 小时前
啤酒行业PLM突围战:一半科技以配方与工艺数字化重构酿造食品研发体系
数据库·科技·重构
GIS数据转换器1 小时前
智慧林草“一张图“平台
java·大数据·服务器·前端·javascript·数据库·人工智能
gis开发之家1 小时前
Spring Boot 4 深度解析,JdbcTemplate 实战——轻量级数据库操作方案
java·数据库·spring boot·后端
李兆龙的博客1 小时前
问津集 #12:Calcspar:相同 Paid IOPS 下的 RocksDB 尾延迟优化
数据库
智购科技自动售卖机厂家1 小时前
2026自动售货机云端数据备份策略:从全量备份到增量恢复的工程实践~YH
数据库·stm32·嵌入式硬件·物联网·架构·零售
笔头子2 小时前
【Caché】数据库基础操作
数据库
上火的金鱼妹2 小时前
redis集群部署与连接
数据库·redis·缓存
程序员-Benothing3 小时前
MySQL 二级索引有 MVCC 快照吗?
数据库·mysql
xiaoxiangsiyan3 小时前
网络智能化转型核心模块全解析
运维·服务器·网络·数据库·学习·架构·php