global max_execution_time不生效问题

【 TiDB 使用环境】生产环境
【 TiDB 版本】v5.4.2
【复现路径】SET GLOBAL max_execution_time=8000;
【遇到的问题:问题现象及影响】
定时任务分别设置白天8000和晚上180000的max_execution_time,设置成功后,白天tidb监控面板的慢查询出现大量时间大于20秒+的查询语句,还有40秒+的。导致数据库雪崩。
mysql> SHOW GLOBAL VARIABLES LIKE ‘max_execution_time’;
±-------------------±------+
| Variable_name | Value |
±-------------------±------+
| max_execution_time | 8000 |
±-------------------±------+
1 row in set

mysql>

请问是什么原因导致的max_execution_time不生效?再次遇到业务高峰时应该如何有效杀掉慢查询?谢谢~
【资源配置】
【附件:截图/日志/监控】

这个参数不推荐配置为 global,因为比如备份啊或者其他 SQL 可能是需要这么长时间的。

一般推荐让应用在 jdbc 的连接串上配置 session 级别修改。

没有生效的原因:global 配置,需要重新连接生效。是不是应用没有重连。

额,建议优化sql而不是修改这个参数,另外全局参数修改,session需要重连才能生效。

刚查到有个项目在程序里面连接的时候自己又设了session级别的40秒。是不是这个原因导致的?按理global级别不是于session吗?

优化sql是项长期的工作 :joy: 在没优化完所有之前,也不能让系统用着用着崩掉。

global并不高于session,如果session重新设置,那当前session已session参数为准