是否有一种方法在SQL服务器插入到TempTable并行

本文关键字:服务器 SQL 插入 并行 TempTable 方法 一种 是否 | 更新日期: 2023-09-27 18:08:28

我有一个动态SQl查询如下

Create #TempTable(ColumnA int, ColumnB int, ColumnC Int)
Insert into #TempTable(select A,B,C from Table1 where  some condition formed dynamically)
Insert into #TempTable(select A,B,C from Table1 where  some condition formed dynamically)
Insert into #TempTable(select A,B,C from Table1 where  some condition formed dynamically)
Insert into #TempTable(select A,B,C from Table1 where  some condition formed dynamically)
Insert into #TempTable(select A,B,C from Table1 where  some condition formed dynamically)
select * from #TempTable
drop table #TempTable

注意:# temptable中插入语句的数量可以从10到100不等,因此执行

需要花费很多时间。

我想知道的是,在SQL server 2008 R2中是否有一种方法可以并行执行插入语句并减少执行时间?

是否有一种方法在SQL服务器插入到TempTable并行

创建一个varchar变量来保存插入语句。添加一个While循环,并将插入语句附加到varchar变量。然后可以像这样执行sql: sp_executesql @sql

临时表的替代品是table变量,它可以做我们在临时表中可以执行的各种操作。下面是使用Table变量

的语法
Declare @TempTable TABLE(
ColumnA int, ColumnB int, ColumnC Int)
Insert into @TempTable
select 1 as ColumnA,2 as ColumnB,3  as ColumnC

Tablevariable对于较少的数据总是有用的。