如果可能的话,如何自动中断mysql中的长查询? 我理解,我需要优化查询而不是。但现在我只能访问数据库服务器了。
答案 0 :(得分:1)
答案 1 :(得分:1)
在优化查询时,您可以通过killing the corresponding thread打断它们。
答案 2 :(得分:0)
mysql中没有办法限制查询运行多长时间然后超时。有“长查询杀手”脚本捕获杀戮并通过例如报告错误查询。看SHOW FULL PROCESSLIST时间属性。您可以通过存储过程来执行此操作,并在计划的时间或通过计划连接到mysql的应用程序调用它。
答案 3 :(得分:0)
尝试终止查询处理时间:
$result = mysql_query("SHOW FULL PROCESSLIST");
while ($row=mysql_fetch_array($result)) {
$process_id = $row["Id"];
if ($row["Time"] > 200 ) {
$sql="KILL $process_id";
mysql_query($sql);
}
}