前端之家收集整理的这篇文章主要介绍了
SQL:中断查询,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用专有的非
sql数据库进行了一个项目,其中
查询可能被中断,并且在
代码库中有很多地方使用了该
功能并且非常有意义(例如,停止长时间运行的
查询被取消
用户,或者当一个更新的
查询发生并使之前的
查询过时等等时,我意识到我以前从未真正看到过那种“中断的
查询”,并认为它可以提出一个很好的问题(几个问题,但是他们都完全相同():
> SQL查询可以被中断吗?
>这是sql标准的一部分吗?
>如果它不是sql标准的一部分,哪些sql DB允许查询被中断(任何最受欢迎的例子)?
>中断数据库查询(sql或不是sql)是否常见,你知道你不再关心结果了? (在我工作的代码库中,它肯定有助于减轻服务器的负载)
Imho“中断”应该被’杀死’或’终止’取代.中断的概念可能会令人困惑,因为人们可能会认为它将允许稍后恢复
查询.
sql标准没有提供中断或终止正在运行的查询的方法,但我知道的每个DBMS都实现了KILL命令或类似命令.例如,在MySQL中,用户可以使用SHOW [FULL] PROCESSLIST来查看所有正在运行的查询(及其状态,查询ID等).具有KILL权限的用户可以终止查询.
大多数KILL都会发生,因为查询可能会运行太长时间或阻止其他查询,例如.表缺少索引或磁盘已满.当您不关心结果时(例如,用户取消了网站导航),网络服务器本身通常会中止该过程,从而中止查询(无需手动或程序员交互)
原文链接:https://www.f2er.com/mssql/77614.html