질의 실행 계획 보기

질의 편집기 옵션에서 [질의 실행 계획 보기 설정]을 선택하면, 질의 편집기의 툴바에서 [질의 실행 계획 보기 ]가 활성화된다.

사용자는 툴바에서 [질의 실행 계획 보기 ]를 클릭하거나 <Ctrl+L>을 눌러서, 질의를 실제로 수행하지 않고도 선택된 질의가 어떻게 수행될지에 대한 실행 계획을 확인할 수 있다. 이미 수행된 질의에 대한 실행 계획도 확인할 수 있다.

질의 편집기 하단에는 질의 실행 계획이 항상 보이므로 데이터베이스에 접속하지 않은 상태에서도 실행 계획 이력 파일을 열어서 기존의 실행 계획을 점검해 볼 수 있다.

질의 실행 계획 기능은 SQL의 실행 계획을 조회하는 것으로, 일회성이 아닌 실행 계획을 지속적으로 관리하고 조회하기 위한 수집 목적으로 사용한다. 실행 계획을 조회할 때마다 질의 실행 계획 이력에 누적이 되고, 누적된 자료를 .xml 파일로 저장할 수 있다. 저장된 .xml 파일을 열면 당시의 실행 계획과 실행된 SQL을 조회해 볼 수 있다. 일회성 조회가 목적이라면, 툴바에서 [수집 이력 안 남기기 ]를 선택하여 이력을 남기지 않고 현재 실행 계획을 임시로 조회할 수 있다.

질의 실행 계획은 툴바, 실행 계획 출력 창, 선택된 실행 계획에 대한 원문 출력 창 그리고 실행 계획 이력 창으로 구성되어 있다.

질의 실행 계획 탭

질의를 선택하고 툴바에서 [질의 실행 계획 보기 ]를 클릭하면 아래 그림과 같이 [질의 실행 계획] 탭에 질의 수행 계획이 출력된다. [질의 실행 계획] 탭은 해당 질의에 대한 실행 계획을 트리 구조로 요약하여 보여준다.

[질의 실행 계획] 탭은 [질의 결과] 탭 오른쪽에 있으며, 질의 결과를 보다가 [질의 실행 계획] 탭으로 전환할 수 있다.

질의 실행 계획 툴바

질의 실행 계획 툴바에는 다음과 같은 기능이 있다.

실행 계획 출력 창

실행 계획 출력 창에는 단계별로 실행된 실행계획이 계층형(tree)으로 출력된다.

세로축의 각 항목을 노드(node)라고 부르며 각 노드마다 데이터의 내용은 다르다. 위에서 아래로 내려가면서 본다.

가로축은 항목(item)이라고 부르며 유형, 테이블, 인덱스, 검색조건, CPU I/O 비용, Disk I/O 비용, 전체(ROW/PAGE)으로 구분된다.

질의 실행 계획 출력 창의 아래쪽에는 실행 계획 창에서 선택한 실행 계획의 원문이 출력된다.

실행 계획 이력 창

실행 계획 이력 창에는 실행 계획을 수행할 때마다 이력이 누적되어 출력된다. #은 누적 순번이며 실행 계획 출력 창 아래의 탭 번호와 일치한다. 일자는 실행계획을 실행한 일시이며, 총 비용은 CPU와 Disk I/O의 합이다. 이 실행 계획 이력 창의 항목을 더블 클릭을 하면 해당 실행 계획을 실행 계획 출력 창에서 다시 볼 수 있다.

질의 실행 계획 활용

질의 실행 계획 기능을 활용하면 실행 계획과 해당 테이블의 스키마를 동시에 보면서 분석할 수 있다.

질의 실행 계획 출력 창에서 테이블이 있는 행을 마우스 오른쪽 버튼 클릭하여 [스키마 정보 보기]를 선택하면, 해당 테이블의 스키마 정보를 별도로 열어서 같이 볼 수 있다.

스키마 정보 창을 CUBRID 매니저 밖으로 끌어서 놓으면 별도의 윈도우로 볼 수도 있다. 이는 다중 모니터를 사용하는 환경에서 편리하게 활용할 수 있다.