실행 계획이란 무엇인가?
실행 계획(Execution Plan)은 쿼리 옵티마이저(Query Optimizer)가 통계 정보와 Algebrizer/프로세스 트리를 활용해 생성한 결과물입니다. 즉, 사용자가 요청한 쿼리가 데이터베이스 내부에서 어떤 방식으로 수행되는지를 보여주는 로드맵이라고 할 수 있습니다.
실행 계획의 두 가지 유형
SQL Server의 실행 계획은 크게 두 가지로 나뉩니다.
- 예상 실행 계획(Estimated Plan) — 쿼리를 실제로 실행하지 않고, 통계를 기반으로 가장 최적화된 처리 방식을 미리 보여줍니다.
- 실제 실행 계획(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를 사용합니다.

SQL Server 인스턴스에 연결하기
2단계 — 데이터베이스 선택 후 새 쿼리 작성
대상 데이터베이스(여기서는 TestDB)를 선택한 뒤 새 쿼리(New Query)를 클릭하고 아래 쿼리를 입력합니다.
Select * from StudentTable

새 쿼리 작성하기
3단계 — 예상 실행 계획 표시 버튼 클릭
위 이미지에서 빨간색으로 강조된 아이콘을 클릭하면 아래와 같이 예상 실행 계획이 표시됩니다.

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

상세 예상 실행 계획 정보
예제 2: 실제 실행 계획(Actual Execution Plan) 확인하기
실제 실행 계획을 확인하는 절차는 다음과 같습니다.
1~2단계 — 예제 1과 동일
앞선 예제 1의 1단계와 2단계를 동일하게 수행합니다.

실제 실행 계획을 확인하기 위한 새 쿼리 작성
3단계 — 실제 실행 계획 포함 버튼 클릭 후 쿼리 실행
위 이미지에서 빨간 원으로 표시된 아이콘(실제 실행 계획 포함)을 클릭한 상태로 쿼리를 실행하면, 아래와 같이 실제 실행 계획이 함께 표시됩니다.

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

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