2017-11-23 1 views
0

간단한 질문이 있는데, SQL 작업 단계에서 많은 선택이 있습니다. 병렬 또는 순차적으로 실행합니까?SQL 작업 단계 쿼리가 병렬 또는 순차적으로 실행됩니까?

TRUNCATE TABLE FinalTable1 
INSERT INTO FinalTable1 
SELECT * 
FROM dbo.TableAux1 
     INNER JOIN dbo.tableAux2 ON dbo.Table1.ID = dbo.Table2.ID 
WHERE dbo.TableAux1.Name IS NULL 


TRUNCATE TABLE FinalTable2 
INSERT INTO FinalTable2 
SELECT * 
FROM dbo.ViewTable1 
     INNER JOIN dbo.TableAux1 ON dbo.ViewTable1.ID = dbo.TableAux1.ID 


TRUNCATE TABLE FinalTable3 
INSERT INTO FinalTable3 
SELECT * 
FROM dbo.ViewTable2 
     INNER JOIN dbo.TableAux1 ON dbo.ViewTable2.ID = dbo.TableAux1.ID 

작업 단계를 실행하는 데 시간이 너무 오래 걸리는 :

내가 질문을 분석하고 작업 단계는 같은입니다.

감사합니다.

+2

SQL Server (SQL Agent와 같은 클라이언트 포함)는 순차적으로 배치 문을 실행합니다. 문장이 많은 경우 SET NOCOUNT ON을 추가하십시오. –

+1

Integration Services를 사용하는 경우 각 단계를 병렬 처리 한 다음 하나의 패키지 만 실행할 수 있습니다. 어느 단계가 더 빨라질 것인가? – plaidDK

답변

0

1 단계 내의 모든 코드가 순차적으로 실행됩니다.

작업 내의 모든 단계가 순차적으로 실행됩니다.

SSIS을 사용하면 INSERT를 병렬로 실행하는 패키지를 만들 수 있습니다.

INSERTS의 속도를 높이려면 최소한의 로깅을 달성하려면 TABLOCK 힌트를 사용하십시오.

관련 문제