如果用户关闭浏览器或从一个页面导航到其他页面,则使用PHP KILL MySQL查询

Sun*_*dar 7 php mysql performance mysqli

我的网站正在使用onload AJAX.所以当用户进入页面时,8个AJAX调用是并行执行的.在进程的中间,如果用户关闭浏览器或导航到另一个页面,我想要终止查询.

实现这一目标的步骤:

1.找到下一个MySQL查询执行ID(连接标识符)并将其存储到会话中.

http://dev.mysql.com/doc/refman/5.1/en/show-processlist.html

我们需要在执行READ(select)查询之前识别此ID.因为PHP会逐行执行.

问题

How do we identify the next connection identifier?

要么

How do we reserve the connection identifier and execute the query on specified identifier?
Run Code Online (Sandbox Code Playgroud)

2.在数据库中执行查询.

3.如果识别出用户中止,则终止MySQL查询执行.我们可以使用connection_aborted()/ ignore_user_abort()函数在PHP中检测用户中止状态.

使用以下命令终止此查询执行:

KILL ID

Sun*_*dar 1

以下查询还返回当前连接标识符

SELECT CONNECTION_ID();
Run Code Online (Sandbox Code Playgroud)

收到此连接标识符后,我们可以对此标识符执行查询。