原生TSQL支持并行查询

Dus*_*vis 5 sql-server parallel-processing sql-server-2008

是否存在从SQL Server 2008 R2中的存储过程并行执行查询的本机支持?以此伪代码为例

create proc dbo.MySproc
as
   delete from SomeTable where Predicate = true [as parallel]
   delete from AnotherTable where Predicate = false [as parallel]

   [wait for queries]

   select * from SomeTable join AnotherTable on Predicate = true
Run Code Online (Sandbox Code Playgroud)

我已经看到了这样做的例子,但是他们需要安装非本机CLR程序,这是我想要避免的.

注意:我不是在谈论执行计划,我的意思是同时运行两个不相关的查询异步,而不是一个接一个地运行.

Rus*_*ure 6

不,没有用于控制并行性的T-SQL语法.

你可以玩许多游戏来获得类似的东西,但它们都需要一个非T-SQL实体.例如,SQL Server作业,产生多个线程的CLR SP,产生线程的C#app,使用sqlcmd执行T-SQL等.