MySQL - 我可以限制查询运行的最长时间吗?

标签 mysql long-running-processes

我正在寻找一种方法来限制 mysql 服务器上查询的最大运行时间。我认为这可以通过 my.cnf 配置文件来完成,但在文档中找不到任何相关内容。有谁知道这是否可以做到?谢谢。

最佳答案

更新

从 MySQL 5.7 开始,您可以包含 MAX_EXECUTION_TIME优化器在您的 SELECT 查询中提示以指示服务器在指定时间后终止它。

据我所知,如果您想强制执行服务器范围的超时,或者如果您关心 SELECT 之外的查询,原始答案仍然是您唯一的选择。

原始答案

在向服务器发送查询以运行时无法指定最长运行时间。

但是,在您的数据库服务器上每秒运行一个 cron 作业并不少见,连接并执行如下操作:

  1. 显示进程列表
  2. 查找查询时间大于您的最大期望时间的所有连接
  3. 为每个进程运行 KILL [process id]

关于MySQL - 我可以限制查询运行的最长时间吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4794747/

相关文章:

ios - iOS或MonoTouch固有内存泄漏?

c# - 如何使用 TPL 处理长时间运行的进程

PHP MySQLi Fetch Array Auto Increment int 失败

php - Wordpress - 分页和自定义数据库查询

azure - Windows Azure 上长时间运行(或永远)的任务

java - 长时间运行的Web服务架构

ionic-framework - Angular-material - FAB Speed Dial 不适用于 Ionic

mysql - 仅当值不存在时返回行

mysql加入group by内的最小值

MYSQL 查询 - 将特定行的正值更改为负值...