Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP的窗口关闭事件中终止长时间运行的MySQL进程_Php_Mysql_Apache - Fatal编程技术网

在PHP的窗口关闭事件中终止长时间运行的MySQL进程

在PHP的窗口关闭事件中终止长时间运行的MySQL进程,php,mysql,apache,Php,Mysql,Apache,我们在PHP进程中有一个长期运行的SQL。有时,用户关闭窗口,SQL仍然在后台运行,这会降低服务器的性能 关闭窗口时PHP进程被终止后,SQL是否可以立即停止 我想我需要在浏览器中处理窗口关闭事件,并在事件发生时在php脚本中执行一些异常处理。这里有3个独立的“进程”,浏览器、php和sql Php不会知道浏览器已经关闭,因此无法终止sql进程。如果查询花费的时间太长,那么php无论如何都会超时。这通常设置为30秒。您似乎将整个sql脚本作为php的一个块来执行,如果是这种情况,请尝试在php代

我们在PHP进程中有一个长期运行的SQL。有时,用户关闭窗口,SQL仍然在后台运行,这会降低服务器的性能

关闭窗口时PHP进程被终止后,SQL是否可以立即停止


我想我需要在浏览器中处理窗口关闭事件,并在事件发生时在php脚本中执行一些异常处理。

这里有3个独立的“进程”,浏览器、php和sql


Php不会知道浏览器已经关闭,因此无法终止sql进程。如果查询花费的时间太长,那么php无论如何都会超时。这通常设置为30秒。

您似乎将整个sql脚本作为php的一个块来执行,如果是这种情况,请尝试在php代码中将脚本分解为chunck,因为当php将脚本发送到数据库服务器时,db server的任务是执行!!:)您使用的是什么MySQL客户端库?我使用过的每一种方法的默认行为都是不使用持久连接,这意味着除非你做了一些奇怪的事情,否则你的请求应该已经发生了。@Muhannad,你的评论毫无意义,而且不准确。@Brad证明你的说法!:)@穆罕纳德,我想我明白你的意思了。这在很多情况下都是适用的,但是是的,我很抱歉这是你可以做的。不过,在插入基于select的数据时要非常小心。这应该在一条语句中完成,这样您就不会遇到并发插入的问题。