Post

<오라클 성능 고도화 원리와 해법1> Ch03-01 Explain plan

오라클 성능 고도화 원리와 해법1 - Ch03-01 Explain plan

SQL을 수행하기 전에 실행 계획을 확인하고자 할 때, explain plan 명령을 사용한다. 이 명령어를 사용하려면 먼저 plan_table을 생성해야 하는데, 아래 스크립트를 실행하면 된다. 참고로, ?$ORACLE_HOME 디렉토리를 대체하는 기호다.

1
SQL> @?/rdbms/admin/utlxplan.sql

이제부터 explain plan for 명령을 수행하고 나면 해당 SQL에 대한 실행 계획이 plan_table에 저장된다.

요즘은 대개 SQL을 프로그램 속에 하드코딩하지 않고 XML 포맷으로 별도 Repository에 저장해둔다. SQL Repository에 저장된 모든 SQL에 대해 매일 explain plan 명령을 수행해 그 실행 계획을 별도 테이블로 저장해둔다면 이를 활용해 안정적인 시스템 운영 및 성능 관리에 활용할 수 있다.

예를 들어, 인덱스 구조를 바꾸고자 할 때 해당 인덱스를 사용하는 쿼리 목록을 뽑아 사전 검토를 실시할 수 있다. 또는 오브젝트 통계 정보가 바뀌어 어느 날 갑자기 성능이 나빠진 쿼리가 생겼을 때 이전 실행 계획을 빨리 확인하고 예전과 같은 방식으로 수행되도록 빠르게 튜닝할 수 있다.

This post is licensed under CC BY 4.0 by the author.