Yassine LD Asked: 2016-12-03 02:51:09 +0800 CST2016-12-03 02:51:09 +0800 CST 2016-12-03 02:51:09 +0800 CST 当 Mysql 选择杀死一个进程时(自动) 772 我遇到了一些关于使用 Mysql 服务器执行某些存储过程的实际问题。有时,我的一个过程在外部调用(来自应用程序)期间未执行(或可能停止),所以我想知道: Mysql有没有可能自动停止并杀死进程? 如果是真的,是什么指标和因素让Mysql选择了它的牺牲品? 是否有替代方法来设置运行查询的优先级列表? 谢谢。 mysql stored-procedures 1 个回答 Voted Best Answer Rick James 2016-12-05T15:15:41+08:002016-12-05T15:15:41+08:00 如果超过.MySQL 可以终止连接wait_timeout。(注意,有多种等待超时设置。) InnoDB 可以在出现“死锁”的情况下终止事务。其中一个竞争交易被终止,其他交易被允许继续。 如果等待锁定的时间过长,InnoDB 可以终止查询。请参阅innodb_lock_wait_timeout,默认为 50 秒。 用户可以通过命令行工具“mysql”及其命令“杀死”一个 mysql 进程kill。 我不认为存储过程、函数、事件、触发器有什么特别之处——它们本质上是查询的集合,而这些查询又受上述评论的约束。 UDFs包含用户编写并专门安装的代码。这些可以做任何你喜欢的讨厌的事情。 基本上没有您可以控制的“优先级”。最好让 MySQL 决定何时做什么。 你说的“过程”还有别的意思吗?
如果超过.MySQL 可以终止连接
wait_timeout
。(注意,有多种等待超时设置。)InnoDB 可以在出现“死锁”的情况下终止事务。其中一个竞争交易被终止,其他交易被允许继续。
如果等待锁定的时间过长,InnoDB 可以终止查询。请参阅
innodb_lock_wait_timeout
,默认为 50 秒。用户可以通过命令行工具“mysql”及其命令“杀死”一个 mysql 进程
kill
。我不认为存储过程、函数、事件、触发器有什么特别之处——它们本质上是查询的集合,而这些查询又受上述评论的约束。
UDFs
包含用户编写并专门安装的代码。这些可以做任何你喜欢的讨厌的事情。基本上没有您可以控制的“优先级”。最好让 MySQL 决定何时做什么。
你说的“过程”还有别的意思吗?