如何设置mysql查询的最大执行时间?

问题描述:

我想为诸如php中的set_time_limit()之类的sql查询设置最大执行时间.我该怎么办?

I would like to set a maximum execution time for sql queries like set_time_limit() in php. How can I do ?

我认为它已经存在了一段时间,但是根据

I thought it has been around a little longer, but according to this,

MySQL 5.7.4引入了为顶级只读SELECT语句设置服务器端执行时间限制(以毫秒为单位)的功能.

MySQL 5.7.4 introduces the ability to set server side execution time limits, specified in milliseconds, for top level read-only SELECT statements.

SELECT 
/*+ MAX_EXECUTION_TIME = 1000 */ --in milliseconds
* 
FROM table;

请注意,这仅适用于只读SELECT语句.

Note that this only works for read-only SELECT statements.

更新:该变量在MySQL 5.7.4中添加,并在MySQL 5.7.8中重命名为max_execution_time. ()

Update: This variable was added in MySQL 5.7.4 and renamed to max_execution_time in MySQL 5.7.8. (source)