当前位置: 首页 > 面试题库 >

SQL:中断查询

凤晨朗
2023-03-14
问题内容

我在一个使用专有的非SQL
DB的项目中工作,在该项目中查询可能会中断,并且在代码库中有很多地方使用了该功能并且非常有意义(例如,停止长时间运行的查询会被取消用户,或者发生较新的查询并使上一个查询过时等),我意识到我以前从未真正看到过这种“中断查询”,并认为它可以提出一个很好的SO问题(几个问题,但是它们都与完全相同的事物有关):

  • SQL查询可以中断吗?

  • 这是SQL标准的一部分吗?

  • 如果它不是SQL标准的一部分,哪个SQL DB允许查询被中断(最欢迎的例子)?

  • 中断数据库查询(是否使用SQL)是否很普遍?您会知道不再关心结果了吗?(在我研究过的代码库中,它肯定有助于减轻服务器的负载)


问题答案:

恕我直言,“打断”应改为“杀死”或“终止”。中断的概念可能会让人感到困惑,因为人们可能会假定它会在以后恢复查询。

SQL标准没有提供中断或终止正在运行的查询的方法,但是我知道的每个DBMS都实现了KILL命令或类似命令。例如,在MySQL中,用户可以使用SHOW
[FULL] PROCESSLIST来查看所有正在运行的查询(及其状态,查询ID等)。具有KILL特权的用户然后可以终止查询。

大多数KILL的发生是因为查询运行时间过长或正在阻止其他查询的风险,例如。表缺少索引或磁盘已满。当您不关心结果时(例如,用户取消了站点导航),通常Web服务器本身将中止该过程,从而中止其自身的查询(无需手动或html" target="_blank">程序员交互)



 类似资料:
  • 本文向大家介绍在SQL Server中使用ISNULL执行空值判断查询,包括了在SQL Server中使用ISNULL执行空值判断查询的使用技巧和注意事项,需要的朋友参考一下 有如下查询: 本来,ISNULL函数只有一个参数,它表示的含义就是判断这个参数的值是否为NULL,是NULL则返回TRUE,否则返回FALSE; 但是,在SQLServer的查询语句中,isnull需要两个参数,它的含义是如

  • 本文向大家介绍SQL判断语句用法和多表查询,包括了SQL判断语句用法和多表查询的使用技巧和注意事项,需要的朋友参考一下 1.格式化时间sql语句   本例中本人随便做了两张表,和实际不是很相符,只是想说明sql语句的写法。   例1表格式如下:   需求:查询出本表,但需要使time字段的时间格式为yyyy-MM-dd,比如:2013-08-13   sql写法:   运行结果:   2.多表查询

  • 问题内容: 有没有办法观察将由生成的SQL语句? 例如,我有这个:是否 可以查看其基础的原始SQL? 问题答案: 光滑2.X: 您可以按照Slick文档中所示打印查询语句: 对于其他类型的报表看,和。 光滑的3.X: 文件。

  • 本文向大家介绍SQL中的子查询,包括了SQL中的子查询的使用技巧和注意事项,需要的朋友参考一下 子查询是查询内的查询,即嵌套查询。它放置在查询中,其结果用于进一步评估外部查询。 在SQL中,子查询必须遵循一些规则。其中一些是- 子查询应放在括号内。 子查询可以与不同的运算符(如<,>,<=,> =,IN,BETWEEN等)一起使用。还可以使用SELECT,INSERT,DELETE,UPDATE等

  • 问题内容: 我的SQL查询可能有问题。在此查询中,我合并了4个不同的表。 我有一个用于存储常规信息的表(,)。 我有一个表,用于存储员工的一般信息(和)。 员工有工作。一名员工需要参加课程。这取决于他必须修的课程。此信息存储在表中(带有和)。 如果员工完成了课程,则将其存储在表中(带有和) 现在,我要搜索某个课程-当用户按下搜索按钮时,他应该得到两个不同的结果。 第一个:在这里您可以看到 哪个员工

  • 诸葛io能够帮助企业采集和分析海量的用户行为数据,我们提供了非常灵活的可视化分析功能,能够很好的满足产品团队、市场团队、运营团队和管理决策层的日常分析需求。 但是,很多企业中会有专门的数据分析师协助业务和管理团队进行数据分析工作。针对不同的业务需求,数据分析师经常需要对用户行为数据展开更为复杂的、更为深入的查询、分析和洞察,这时,诸葛io的可视化分析功能对他们来说是不够灵活和强大的。 为此,我们提