如果需要很长时间才能完成,是否可以创建一个自毁的MySQL查询?我想知道是否可以预测查询所花费的平均时间,并防止数据库耗尽。有什么工具或本地技巧可以让我们这么做吗?
例如:
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
how-to-change-the-mysql-timeout-on-a-server