希望max_execution_time支持instance级别设置

【 TiDB 使用环境】生产环境 /测试/ Poc
【 TiDB 版本】
【复现路径】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】
【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面
【附件:截图/日志/监控】

我们线上有负载保护的需求,即业务想限制sql的执行时间。现在调研得知tidb支持设置max_execution_time参数可以实现这个需求,但是该参数仅支持session | global级别的设置,不支持instance级别。

我们有一种特殊的业务场景,某部门需要每天或者每小时对线上的数据进行抽取用于报表,我们对这类需求的节点单独部署了tidb server节点,这类sql的执行时间通常比较久。不希望受max_execution_time参数的设置影响,

所以希望max_execution_time能实现instance级别的设置。

那你 session 级别设置不就好了,直接加到连接串里 :smiley_cat: 为啥非得 instance 呢

max_execution_time正常设置,特殊的执行时间长的单独在session里面设置

在session级别里会生效么?我验证下

是否受 Hint SET_VAR 控制:是

SELECT /*+ SET_VAR(MAX_EXECUTION_TIME=1234) */ @@MAX_EXECUTION_TIME;
SELECT @@MAX_EXECUTION_TIME;

试试hint

session级别呗,应用连接串加上对应参数就好了

同求,TiDB可以支持实例级参数配置,建议和label结合,对不同az、数据中心、机架、主机去配置不同的参数组。

我以为是set session MAX_EXECUTION_TIME=1234呢,哈哈

线程单独添加,Hints里应该也能指定。

TiDB数据库中的max_execution_time 设置,它主要用于限制SQL语句的执行时间,以避免长时间运行的查询消耗过多资源,影响数据库的整体性能和可用性。特殊的执行时间长的应单独在session里面设置才合理。

在应用层设置吧,这样已经是最灵活了。你还想要个中间灵活度的 :rofl:

那就在这台服务器连接上就加上session级别的。