Tuning - SQL 처리 구조 & Autotrace
- SQL 수행은 server process가 진행하나 계획은 optimizer가 세움
- 전체 범위 처리 ; 기본적으로 한번에 하나의 데이터씩 fetch하는 것이 아니라 한번에 전체를 한꺼번에 fetch함
- 부분 범위 처리 ; 일정한 조건이 되면 전체가 채워지지 않아도 fetch를 함
- OWI ; 부분적으로 나눠서 흐름 상에 장애를 분석하는 기술
- Cursor ; 메모리 상의 가상공간
> select s.name, d.dname
from student s, department d
where s.deptno=d.deptno;
NAME DNAME
---------- ----------------
전인하 컴퓨터공학과
이동훈 전자공학과
박미경 컴퓨터공학과
김영균 컴퓨터공학과
박동진 전자공학과
김진영 멀티미디어학과
지은경 컴퓨터공학과
오유석 멀티미디어학과
하나리 멀티미디어학과
임유진 컴퓨터공학과
서재진 컴퓨터공학과
윤진욱 멀티미디어학과
이광훈 컴퓨터공학과
김진경 전자공학과
조명훈 전자공학과
류민정 컴퓨터공학과
16 rows selected.
Execution Plan
----------------------------------------------------------
Plan hash value: 120585980
---------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
---------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 16 | 688 | 7 (15)| 00:00:01 |
|* 1 | HASH JOIN | | 16 | 688 | 7 (15)| 00:00:01 |
| 2 | TABLE ACCESS FULL| DEPARTMENT | 7 | 161 | 3 (0)| 00:00:01 |
| 3 | TABLE ACCESS FULL| STUDENT | 16 | 320 | 3 (0)| 00:00:01 |
---------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
1 - access("S"."DEPTNO"="D"."DEPTNO")
Note
-----
- dynamic sampling used for this statement
Statistics
----------------------------------------------------------
0 recursive calls
0 db block gets
15 consistent gets
0 physical reads
0 redo size
929 bytes sent via SQL*Net to client
396 bytes received via SQL*Net from client
3 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
16 rows processed