[SQLD/P] Explain Plan 관련 개념

Hyo Kyun Lee·2022년 11월 6일
0

SQLD/P

목록 보기
40/82

1. 개요

Oracle의 성능을 결정하는 요소 중 하나는 Optimizer의 Explain plan이다.

말 그대로, Oracle 쿼리 결과를 도출하기위해 Optimzier가 쿼리를 실행하고 table에 access하는 과정을 계획하는 과정이다.

여기서 중요한 개념이 Cost, Cardinality가 있다.

2. Cost / Cardinality

Optimizer가 쿼리결과를 도출하는데 얼마만큼의 자원을 소모했는가, 결과 column수가 몇개인가 등에 대한 개념이다.

향후 쿼리를 실행하는데 어느 정도의 성능을 예상할 수 있고 어떠한 부분을 보완해야하는지 짐작할 수 있는 지표이다.

2-1. Cost

쿼리를 실행하는데 필요한 자원, 공간 등을 일컫는다.

Toad 상에서는 사용한 메모리 크기를 나타내는데, 넓은 의미로 보면 Query를 실행하기 위해 필요한 자원의 개념이다.

graph 탐색을 할 때 활용하는 개념이기도 하다.

2-2. Cardinality

쿼리의 결과로 나타난 record의 수이다. 어떠한 연산을 사용했느냐에 따라 다양한 종류의 Cardinality가 존재한다.

3. 참고자료

Cardinality, Cost 관련 개념 - https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=m30winjv&logNo=90027984599

0개의 댓글