我正在寻找一种方法来限制 mysql 服务器上查询的最大运行时间。我认为这可以通过 my.cnf
配置文件来完成,但在文档中找不到任何相关内容。有谁知道这是否可以做到?谢谢。
最佳答案
更新
从 MySQL 5.7 开始,您可以包含 MAX_EXECUTION_TIME
优化器在您的 SELECT
查询中提示以指示服务器在指定时间后终止它。
据我所知,如果您想强制执行服务器范围的超时,或者如果您关心 SELECT
之外的查询,原始答案仍然是您唯一的选择。
原始答案
在向服务器发送查询以运行时无法指定最长运行时间。
但是,在您的数据库服务器上每秒运行一个 cron 作业并不少见,连接并执行如下操作:
- 显示进程列表
- 查找查询时间大于您的最大期望时间的所有连接
- 为每个进程运行 KILL [process id]
关于MySQL - 我可以限制查询运行的最长时间吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4794747/