2012. 11. 23. 16:10
[Oracle] Toad 실행계획
2012. 11. 23. 16:10 in Database / Sql
여러개의 쿼리가 있을경우엔 블록지정을 해줘야만 실행계획이 나온다.
Explain plan 을 실행하려면 ctrl + E 를 눌러주면 아래의 상태창에 실행 계획이 나온다.
1. 트리를 보면 왼쪽에 숫자가 나온다. 1부터가 실행되는 순서!!
- 플랜은 트리 형태로 되어 있으며, 자신보다 하위 레벨이 있으면 하위 레벨부터, 같은 레벨이라면 상위 로우 소스부터 실행된다.
2. TABLE ACCESS FULL 는 쿼리상 나오면 안됨(겁나 느림)!!
- 옵티마이저가 통계 정보를 이용해 추정한 값이라고 보면 된다.
Cost - 옵티마이저가 해당 오퍼레이션을 수행하는데 필요하다고 판단한 비용. 측정을 위한 단위가 있는 것은 아니고, 그냥 weight 값 정도로 생각하면 됨. CBO는 여러 가지 실행 계획을 세우고 이에 대한 비용(cost)를 비교한 다음 비용이 가장 적은 실행 계획으로 SQL을 실행함.
Cardinality - 오퍼레이션을 수행할 때 접근하게 될 row 수. 역시 옵티마이저가 추정한 값
Bytes - 해당 오퍼레이션을 수행할 때 접근하게 될 byte 수. 옵티마이저가 추정한 값
3. 실행계획에서는 옵티마이져가 판단한 값!!
- 실제 oracle의 실행과 다를수도 있으며 정확한것은 Trace를 통해서 확인해야 한다. 단지 이것을 어떻게 쿼리를 풀어나가는지를 확인하는 단계다.
'Database / Sql' 카테고리의 다른 글
[Oracle] 10g 공간 줄일수 있는 테이블 찾기와 Shrink 실행하기 (0) | 2012.12.03 |
---|---|
[Oracle] PL/SQL PROCEDURE Scripts Sample 설명 (0) | 2012.11.27 |
[MS-SQL] JOIN UPDATE / DELETE (0) | 2012.11.23 |
[MS-SQL] 날짜 차이 계산 (0) | 2012.11.08 |
[Oracle] Toad for Oracle 기능 및 사용법 (파일첨부) (0) | 2012.11.08 |