嵌入自动终止的 Mysql 查询

标签 mysql sql

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

例如:

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

环境: 5.6.19 MySQL

最佳答案

  1. 对于 MySQL 5.7.4,您可以使用顶级只读 SELECT 语句

server-side-select-statement-timeouts

例如:

SET GLOBAL MAX_STATEMENT_TIME=1000;

  1. 您也可以尝试更改服务器中的超时设置

编辑 my.cnf(MySQL 配置文件)。

wait_timeout = 28800
interactive_timeout = 28800

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

关于嵌入自动终止的 Mysql 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31461868/

相关文章:

java - Hive,我如何检索所有数据库的表列

sql - 带有 CASE 语句的特殊 ORDER BY - 需要指导

php - 在 PHP 中确保传统转义函数 SQL 注入(inject)安全?

database - mysql:优化查询w/mixed-ascendency ORDER BY

php - MySQL 不检索 PHP 中的第一项

sql - 有效识别差异

mysql - 将 mysql 聚合行重新组织为单片行

mysql - 尝试连接到服务器进行 ruby​​ 开发

php - mysql_real_escape_string 删除整个字符串

sql - Oracle - 如何使用 FAST REFRESH 和 JOINS 创建物化 View