繁体   English   中英

运行SQL查询异步

[英]Running SQL queries Async

是否可以在SQL Server中异步运行查询。 例如,如果我需要运行以下查询

SELECT VALUE FROM DBO.fn1(@Input1)
UNION
SELECT VALUE FROM DBO.fn2(@Input2)
UNION
SELECT VALUE FROM DBO.fn3(@Input3)
UNION
SELECT VALUE FROM DBO.fn4(@Input4)

或不带UNION

例如以下查询将返回3个结果集。 我可以并行运行所有这些程序吗?

SELECT [COLUMN1...COLUMNN] FROM [TABLE1...TABLEN]
SELECT [COLUMN1...COLUMNN] FROM [TABLE1...TABLEN]
SELECT [COLUMN1...COLUMNN] FROM [TABLE1...TABLEN]

我尝试了google,但找不到任何用于并行运行查询的内容,类似于C#中基于任务的编程

在数据库中,没有像编程中那样的异步过程。 唯一可用的选项是并行性,SQL Server决定何时使用它。

您无法在标准SQL中执行此操作:它是同步的。 在存储过程完成之前,您也无法处理输出参数。

请参阅服务代理以获取更多信息。

可能(请参见异步过程执行 ),但结果很可能不是您想要的。 首要的是异步意味着破坏过程调用者所假定的事务上下文(插入发生在不同的事务中)。 另外,进行可靠的异步处理(如我的链接文章所示)意味着要进行大量写入操作,因此没有性能优势。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM