嵌入了自动杀死的mysql查询

时间:2015-07-16 18:28:58

标签: mysql sql

是否有可能创建一个MySQL查询,如果它需要很长时间才能完成?我想知道是否有可能预测查询所花费的平均时间,并防止数据库耗尽。是否有一些工具或原生技巧可以让我们这样做?

例如:

SELECT data FROM unpredictable KILL IF TIMEOUT > 2000 /* ms */

环境: 5.6.19 MySQL

1 个答案:

答案 0 :(得分:1)

  1. 对于MySQL 5.7.4,您可以使用顶级只读SELECT语句
  2. server-side-select-statement-timeouts

    例如:

    SET GLOBAL MAX_STATEMENT_TIME=1000;
    
    1. 您还可以尝试更改服务器中的超时设置
    2. 编辑my.cnf(MySQL配置文件)。

      wait_timeout = 28800
      interactive_timeout = 28800
      

      how-to-change-the-mysql-timeout-on-a-server