1일차
실행계획
설계서 확인이 안됨
SQL 한해서
실행계획 확인
데이터 처리 과정은 하지 않음 -> 실행계획만 확인 함
옵션
BASIC
TYPICAL
ALL
SERIAL
ADVANCED
SET AUTOTRACE ON
Statistics
----------------------------------------------------------
1 recursive calls
0 db block gets
25 consistent gets
0 physical reads
0 redo size
819 bytes sent via SQL*Net to client
520 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
1 sorts (memory)
0 sorts (disk)
14 rows processed
sql -> 자동으로 출력 실행계획
physical reads :
consistent gets : 버퍼에 올라온 내용 IO
db block gets:
show parameter sort_area_size -> 버퍼
SET AUTOTRACE ON EXPLAIN
SET AUTOTRACE ON STATISTICS
SET AUTOTRACE TRACEONLY
구문 output 생략
SET AUTOTRACE TRACEONLY EXPLAIN
실행계획 분석
> set autotrace explain;
# 일반sql
select empno, ename, job
from emp
where empno between 7654 and 7788;
# 힌트 사용 (인덱스 디센딩)
select /*+ INDEX_DESC(EMP PK_EMP) */empno, ename, job
from emp
where empno between 7654 and 7788;
# 인덱스 풀스캔
select /*+ INDEX(EMP PK_EMP)*/ EMPNO, ENAME
from emp;
# 인덱스 패스트 풀스캔
select /*+ INDEX_FFS(EMP PK_EMP)*/ EMPNO
from emp;
index full scan vs index fast full scan
io 블록 처리 : 1개 vs 여러개
show parameter db_block_size;
show parameter db_file_multiblock_read_count; -> (ffs의 장점)
각 i/o 에서 발생 -> show parameter sort_area_size;
order by -> 소팅 인덱스로 해결 할 수 있는부분 (실행계획이 달라짐)
옵티마이저
show parameter optimizer_mode;
alter session set optimizer_mode = RULE; (RBS-룰베이스, 여러건)
alter session set optimizer_mode = FIRST_ROWS; (CBS-코스트베이, 한)
랭크룰
1~15
8 : 결합 칼럼
9 단일 컬럼
analyze table EC_PROGRESS COMPUTE STATISTICS 2 FOR ALL COLUMNS 3 FOR ALL INDEXES;
Last updated
Was this helpful?