반응형

본 포스트는 Microsoft TechNet의 [논리 및 물리 연산자 참조]내용을 참고하여 정리한 내용이다.

※실행 계획 연산자 전체 보기

 

Concatenation 연산자는 여러 개의 입력을 검색하고 검색된 각 행을 반환한다. Concatenation은 일반적으로 Transact-SQL UNION ALL 구조를 구현하는 데 사용된다.

 

그래프 실행 계획 아이콘  

 

 

Concatenation 연산자의 예

이해를 돕기 위해 BOL의 UNION 연산자의 예제를 살펴보도록 하겠다.

USE AdventureWorks;
GO
IF OBJECT_ID ('dbo.Gloves', 'U') IS NOT NULL
DROP TABLE dbo.Gloves;
GO
-- Create Gloves table.
SELECT ProductModelID, Name
INTO dbo.Gloves
FROM Production.ProductModel
WHERE ProductModelID IN (3, 4);
GO

-- Here is the simple union.
USE AdventureWorks;
GO
SELECT ProductModelID, Name
FROM Production.ProductModel
WHERE ProductModelID NOT IN (3, 4)
UNION
SELECT ProductModelID, Name
FROM dbo.Gloves
ORDER BY Name;
GO

 

텍스트 실행 계획

SttText

  SELECT ProductModelID, Name  FROM Production.ProductModel  WHERE ProductModelID NOT IN (3, 4) 

     UNION  SELECT ProductModelID, Name  FROM dbo.Gloves  ORDER BY Name;
  |--Sort(DISTINCT ORDER BY:([Union1008] ASC, [Union1007] ASC))

       |--Concatenation

            |--Index Scan(OBJECT:([AdventureWorks].[Production].[ProductModel].[AK_ProductModel_Name]), 

                WHERE:([AdventureWorks].[Production].[ProductModel].[ProductModelID]<>(3)

                AND [AdventureWorks].[Production].[ProductModel].[ProductModelID]<>(4)))

            |--Table Scan(OBJECT:([AdventureWorks].[dbo].[Gloves]))

 

그래픽 실행 계획


 

 

반응형

+ Recent posts