Computer >> 컴퓨터 >  >> 프로그래밍 >> SQL Server

MS SQL Server 실행 계획(Execution Plan) 완벽 이해하기

실행 계획이란 무엇인가?

실행 계획(Execution Plan)은 쿼리 옵티마이저(Query Optimizer)가 통계 정보와 Algebrizer/프로세스 트리를 활용해 생성한 결과물입니다. 즉, 사용자가 요청한 쿼리가 데이터베이스 내부에서 어떤 방식으로 수행되는지를 보여주는 로드맵이라고 할 수 있습니다.

실행 계획의 두 가지 유형

SQL Server의 실행 계획은 크게 두 가지로 나뉩니다.

  1. 예상 실행 계획(Estimated Plan) — 쿼리를 실제로 실행하지 않고, 통계를 기반으로 가장 최적화된 처리 방식을 미리 보여줍니다.
  2. 실제 실행 계획(Actual Plan) — 쿼리가 실제로 실행된 결과와 함께, 런타임에서의 성능 및 처리 과정을 그대로 보여줍니다.

플랜 캐시(Plan Cache)와 실행 계획 저장

생성된 실행 계획은 재사용을 위해 플랜 캐시(Plan Cache)에 저장됩니다. 일반적으로 각 실행 계획은 한 번만 저장되지만, 옵티마이저가 해당 쿼리에 대해 병렬 실행(parallel execution)을 결정하는 경우에는 별도의 계획이 추가로 저장될 수 있습니다.

실행 계획의 3가지 출력 형식

SQL Server는 실행 계획을 다음 세 가지 형식으로 제공합니다.

  • 그래픽 계획(Graphical Plan) — 아이콘 기반의 시각적 다이어그램으로, SSMS에서 가장 널리 사용됩니다.
  • 텍스트 계획(Text Plan) — 텍스트 형태로 계층 구조를 표현합니다.
  • XML 계획(XML Plan) — 마크업 언어 형식으로 상세 정보를 담고 있으며, 프로그래밍 방식의 분석에 적합합니다.

SHOWPLAN 권한

사용자가 실행 계획을 조회하려면 SHOWPLAN 권한이 반드시 필요합니다. 이 권한이 없으면 예상 또는 실제 실행 계획을 확인할 수 없습니다.

예제 1: 예상 실행 계획(Estimated Execution Plan) 확인하기

아래는 예상 실행 계획을 확인하는 절차입니다.

1단계 — SQL Server 인스턴스에 연결

SQL Server 인스턴스에 연결합니다. 여기서는 TESTINSTANCE를 사용합니다.

MS SQL Server 실행 계획(Execution Plan) 완벽 이해하기
SQL Server 인스턴스에 연결하기

2단계 — 데이터베이스 선택 후 새 쿼리 작성

대상 데이터베이스(여기서는 TestDB)를 선택한 뒤 새 쿼리(New Query)를 클릭하고 아래 쿼리를 입력합니다.

Select * from StudentTable

MS SQL Server 실행 계획(Execution Plan) 완벽 이해하기
새 쿼리 작성하기

3단계 — 예상 실행 계획 표시 버튼 클릭

위 이미지에서 빨간색으로 강조된 아이콘을 클릭하면 아래와 같이 예상 실행 계획이 표시됩니다.

MS SQL Server 실행 계획(Execution Plan) 완벽 이해하기
예상 실행 계획 화면

4단계 — Table Scan 아이콘 위에 마우스 올리기

위 이미지의 빨간 테두리 안 두 번째 아이콘인 Table Scan 위에 마우스 포인터를 올리면, 아래 화면처럼 상세한 예상 실행 계획 정보를 확인할 수 있습니다.

MS SQL Server 실행 계획(Execution Plan) 완벽 이해하기
상세 예상 실행 계획 정보

예제 2: 실제 실행 계획(Actual Execution Plan) 확인하기

실제 실행 계획을 확인하는 절차는 다음과 같습니다.

1~2단계 — 예제 1과 동일

앞선 예제 1의 1단계와 2단계를 동일하게 수행합니다.

MS SQL Server 실행 계획(Execution Plan) 완벽 이해하기
실제 실행 계획을 확인하기 위한 새 쿼리 작성

3단계 — 실제 실행 계획 포함 버튼 클릭 후 쿼리 실행

위 이미지에서 빨간 원으로 표시된 아이콘(실제 실행 계획 포함)을 클릭한 상태로 쿼리를 실행하면, 아래와 같이 실제 실행 계획이 함께 표시됩니다.

MS SQL Server 실행 계획(Execution Plan) 완벽 이해하기
SQL Server의 실제 실행 계획

4단계 — Table Scan 아이콘 위에 마우스 올리기

빨간 테두리 안 두 번째 아이콘인 Table Scan 위에 마우스 포인터를 올리면, 아래 화면처럼 상세한 실행 계획 정보를 확인할 수 있습니다.

MS SQL Server 실행 계획(Execution Plan) 완벽 이해하기
상세 실행 계획 정보

5단계 — 결과 탭으로 전환

마지막으로 화면 왼쪽 상단의 결과(Results) 탭을 클릭하면 쿼리 실행 결과를 확인할 수 있습니다.