[ Oracle. 실행계획 ]
1. 참고
. AUTOTRACE나 Explain Plan을 통해서 나타나는 실행계획은 예상실행계획이고
. SQL Trace를 통해서 나타나는 실행계획은 실제실행계획이다.
2. Group by
. 9i까지는 Group by 시 Group by 에 정의 컬럼기준으로 정렬이되어 조회 됨
. 10g 부터는 Group by 를 해도 정렬되어 나오지 않음.
3. CBO, RBO
. 실행계획 CBO로 나오는지 RBO로 나오는지 구분방법
. RBO는 Row, Bytes, Cost,Time이 나오지 않음
- 즉, 차이즘은 비용 유무.
4. Optimzer가 실행계획 수립시 참조하는 통계정보 2가지
1. System 통계정보
. CPU의 처리능력(Mhz),Disk I/O 처리능력에 대한 정보
. System 통계정보가 실행계획을 결정하는데 미치는 영향력을 볼 수 없음
2. Object 통계정보
. 각 Object(Table, Index)에 대한 통계정보
. Object 통계정보가 실행계획을 결정하는데 미치는 영향력을 볼 수 있음
5. Cost (%CPU)
1. 비용 (Cost) = CPU Cost + IO Cost
2. 위예제에서 : 633 의 비용 시 CPU Cost비중 2%
(즉, Full Table Scan은 IO 집중(Intensive)적인 작업 이라는 의미)
6. 실행계획
SET TIMING ON; --SQL처리 응답속도 조회
SET AUTORACE TRACEONLY; --sql문장수행 및 실행계획을 보여줌
SET AUTORACE TRACEONLY EXPLAIN; --SQL문장은 수행하지 않고 실행계획만 보여줌
SELECT EXECUTIONS, FETCHES, SQL_TEXT
FROM V$SQL
WHERE SQL_TEXT like '%sql내용%';
--EXECUTIONS : SQL수행 횟수
--FETCHES :
'(DB) Oracle 튜닝 > 쌍용튜닝교육' 카테고리의 다른 글
Oracle. 실행계획 - 기타연산자 (0) | 2018.02.25 |
---|---|
Oracle. 실행계획 - JOIN (0) | 2018.02.25 |
Oracle.PL/SQL(Anonymous Block, Stored Block) (0) | 2018.02.24 |
Oracle SQL튜닝. Optimizer (0) | 2018.02.24 |
Oracle SQL튜닝. 성능튜닝 Tool (0) | 2018.02.24 |