是否可以创建一个 MySQL 查询,如果它需要很长时间才能完成,它会自行终止?我想知道是否可以预测查询花费的平均时间,并防止数据库耗尽。是否有一些工具或 native 技巧可以让我们做到这一点?
例如:
SELECT data FROM unpredictable KILL IF TIMEOUT > 2000 /* ms */
环境: 5.6.19 MySQL
最佳答案
- 对于 MySQL 5.7.4,您可以使用顶级只读 SELECT 语句
server-side-select-statement-timeouts
例如:
SET GLOBAL MAX_STATEMENT_TIME=1000;
- 您也可以尝试更改服务器中的超时设置
编辑 my.cnf(MySQL 配置文件)。
wait_timeout = 28800
interactive_timeout = 28800
关于嵌入自动终止的 Mysql 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31461868/