Есть ли способ в SQL Server для параллельной вставки в TempTable?

1

У меня есть запрос Dynamic 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

Примечание. Число операторов вставки в #TempTablecan варьируется от 10 до 100, поэтому требуется много времени для выполнения

Я хотел бы знать, есть ли способ в SQL Server 2008 R2, с помощью которого я могу выполнять инструкции Insert параллельно и сокращать время выполнения?

  • 1
    Где ваше время выполнения потрачено? Расчет процессора или IO?
  • 0
    Кто создает каждое «условие, формируемое динамически»? Ваш SQL-код или внешняя программа?
Показать ещё 2 комментария
Теги:

2 ответа

0

Альтернативой временной таблицы является переменная таблицы, которая может выполнять все виды операций, которые мы можем выполнять в таблице Temp. Ниже приведен синтаксис использования переменной Table

Declare @TempTable TABLE(
ColumnA int, ColumnB int, ColumnC Int)

Insert into @TempTable
select 1 as ColumnA,2 as ColumnB,3  as ColumnC

Tablevariable всегда полезен для меньшего количества данных.

0

Создайте переменную varchar, чтобы удерживать ваши вставки. Добавьте цикл While и добавьте инструкции insert к переменной varchar. Затем вы можете выполнить sql следующим образом: sp_executesql @sql

Ещё вопросы

Сообщество Overcoder
Наверх
Меню