SET autotrace traceonly;
SELECT SUM(SAL),
MAX(SAL),
MIN(SAL)
FROM EMP
;
---------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
---------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 13 | 5 (0)| 00:00:01 |
| 1 | SORT AGGREGATE | | 1 | 13 | | |
| 2 | TABLE ACCESS FULL| EMP | 14 | 182 | 5 (0)| 00:00:01 |
---------------------------------------------------------------------------
Note
-----
- dynamic sampling used for this statement
Statistics
----------------------------------------------------------
0 recursive calls
0 db block gets
15 consistent gets
14 physical reads
0 redo size
276 bytes sent via SQL*Net to client
241 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
1 rows processed
;
SET autotrace traceonly;
SELECT *
FROM EMP
ORDER BY SAL DESC
;
Execution Plan
----------------------------------------------------------
Plan hash value: 4060621227
---------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
---------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 14 | 1358 | 6 (17)| 00:00:01 |
| 1 | SORT ORDER BY | | 14 | 1358 | 6 (17)| 00:00:01 |
| 2 | TABLE ACCESS FULL| EMP | 14 | 1358 | 5 (0)| 00:00:01 |
---------------------------------------------------------------------------
Note
-----
- dynamic sampling used for this statement
Statistics
----------------------------------------------------------
0 recursive calls
0 db block gets
15 consistent gets
0 physical reads
0 redo size
1027 bytes sent via SQL*Net to client
241 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
1 sorts (memory)
0 sorts (disk)
14 rows processed
;
SET autotrace ON;
SELECT DEPTNO,
JOB,
SUM(SAL),
MAX(SAL),
MIN(SAL)
FROM EMP
GROUP BY DEPTNO, JOB
ORDER BY DEPTNO, JOB
;
DEPTNO JOB SUM(SAL) MAX(SAL) MIN(SAL)
---------- ------------------ ---------- ---------- ----------
10 CLERK 1300 1300 1300
10 MANAGER 2450 2450 2450
10 PRESIDENT 5000 5000 5000
20 ANALYST 6000 3000 3000
20 CLERK 1900 1100 800
20 MANAGER 2975 2975 2975
30 CLERK 950 950 950
30 MANAGER 2850 2850 2850
30 SALESMAN 5600 1600 1250
9 rows selected.
Elapsed: 00:00:00.10
Execution Plan
----------------------------------------------------------
Plan hash value: 637087546
---------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
---------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 14 | 518 | 6 (17)| 00:00:01 |
| 1 | SORT GROUP BY | | 14 | 518 | 6 (17)| 00:00:01 |
| 2 | TABLE ACCESS FULL| EMP | 14 | 518 | 5 (0)| 00:00:01 |
---------------------------------------------------------------------------
Note
-----
- dynamic sampling used for this statement
Statistics
----------------------------------------------------------
0 recursive calls
0 db block gets
15 consistent gets
0 physical reads
0 redo size
600 bytes sent via SQL*Net to client
241 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
1 sorts (memory)
0 sorts (disk)
9 rows processed
;
SET autotrace ON;
SELECT DEPTNO,
JOB,
SUM(SAL),
MAX(SAL),
MIN(SAL)
FROM EMP
GROUP BY DEPTNO, JOB
;
DEPTNO JOB SUM(SAL) MAX(SAL) MIN(SAL)
---------- ------------------ ---------- ---------- ----------
30 MANAGER 2850 2850 2850
30 SALESMAN 5600 1600 1250
20 CLERK 1900 1100 800
10 MANAGER 2450 2450 2450
20 MANAGER 2975 2975 2975
20 ANALYST 6000 3000 3000
10 PRESIDENT 5000 5000 5000
30 CLERK 950 950 950
10 CLERK 1300 1300 1300
9 rows selected.
Elapsed: 00:00:00.11
Execution Plan
----------------------------------------------------------
Plan hash value: 1697595674
---------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
---------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 14 | 518 | 6 (17)| 00:00:01 |
| 1 | HASH GROUP BY | | 14 | 518 | 6 (17)| 00:00:01 |
| 2 | TABLE ACCESS FULL| EMP | 14 | 518 | 5 (0)| 00:00:01 |
---------------------------------------------------------------------------
Note
-----
- dynamic sampling used for this statement
Statistics
----------------------------------------------------------
4 recursive calls
0 db block gets
31 consistent gets
0 physical reads
0 redo size
580 bytes sent via SQL*Net to client
241 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
9 rows processed
;
SET autotrace traceonly;
SELECT /*+ ORDERED USE_NL(DEPT) */
*
FROM DEPT
WHERE DEPTNO IN (SELECT /*+ UNNEST */
DEPTNO
FROM EMP
WHERE JOB = 'CLERK')
;
-------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
-------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 3 | 204 | 8 (13)| 00:00:01 |
| 1 | NESTED LOOPS | | 3 | 204 | 8 (13)| 00:00:01 |
| 2 | SORT UNIQUE | | 4 | 96 | 5 (0)| 00:00:01 |
|* 3 | TABLE ACCESS FULL | EMP | 4 | 96 | 5 (0)| 00:00:01 |
| 4 | TABLE ACCESS BY INDEX ROWID| DEPT | 1 | 44 | 1 (0)| 00:00:01 |
|* 5 | INDEX UNIQUE SCAN | DEPT_PRIMARY_KEY | 1 | | 0 (0)| 00:00:01 |
-------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
3 - filter("JOB"='CLERK')
5 - access("DEPTNO"="DEPTNO")
Note
-----
- dynamic sampling used for this statement
Statistics
----------------------------------------------------------
0 recursive calls
0 db block gets
20 consistent gets
0 physical reads
0 redo size
395 bytes sent via SQL*Net to client
241 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
1 sorts (memory)
0 sorts (disk)
3 rows processed
;
-- 1. UNION
SET autotrace traceonly;
SELECT JOB,
MGR
FROM EMP
WHERE DEPTNO = 10
UNION
SELECT JOB,
MGR
FROM EMP
WHERE DEPTNO = 20
;
----------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
----------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 8 | 296 | 12 (59)| 00:00:01 |
| 1 | SORT UNIQUE | | 8 | 296 | 12 (59)| 00:00:01 |
| 2 | UNION-ALL | | | | | |
|* 3 | TABLE ACCESS FULL| EMP | 3 | 111 | 5 (0)| 00:00:01 |
|* 4 | TABLE ACCESS FULL| EMP | 5 | 185 | 5 (0)| 00:00:01 |
----------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
3 - filter("DEPTNO"=10)
4 - filter("DEPTNO"=20)
Note
-----
- dynamic sampling used for this statement
Statistics
----------------------------------------------------------
8 recursive calls
0 db block gets
62 consistent gets
0 physical reads
0 redo size
340 bytes sent via SQL*Net to client
241 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
1 sorts (memory)
0 sorts (disk)
6 rows processed
;
-- 2. MINUS
SET autotrace traceonly;
SELECT JOB,
MGR
FROM EMP
WHERE DEPTNO = 10
MINUS
SELECT JOB,
MGR
FROM EMP
WHERE DEPTNO = 20
;
----------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
----------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 3 | 296 | 12 (59)| 00:00:01 |
| 1 | MINUS | | | | | |
| 2 | SORT UNIQUE | | 3 | 111 | 6 (17)| 00:00:01 |
|* 3 | TABLE ACCESS FULL| EMP | 3 | 111 | 5 (0)| 00:00:01 |
| 4 | SORT UNIQUE | | 5 | 185 | 6 (17)| 00:00:01 |
|* 5 | TABLE ACCESS FULL| EMP | 5 | 185 | 5 (0)| 00:00:01 |
----------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
3 - filter("DEPTNO"=10)
5 - filter("DEPTNO"=20)
Note
-----
- dynamic sampling used for this statement
Statistics
----------------------------------------------------------
7 recursive calls
0 db block gets
62 consistent gets
0 physical reads
0 redo size
284 bytes sent via SQL*Net to client
241 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
2 sorts (memory)
0 sorts (disk)
2 rows processed
-- 3. DISTINCT
SET autotrace traceonly;
SELECT DISTINCT
DEPTNO
FROM EMP
ORDER BY DEPTNO
;
---------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
---------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 14 | 182 | 7 (29)| 00:00:01 |
| 1 | SORT UNIQUE | | 14 | 182 | 6 (17)| 00:00:01 |
| 2 | TABLE ACCESS FULL| EMP | 14 | 182 | 5 (0)| 00:00:01 |
---------------------------------------------------------------------------
Note
-----
- dynamic sampling used for this statement
Statistics
----------------------------------------------------------
4 recursive calls
0 db block gets
31 consistent gets
0 physical reads
0 redo size
250 bytes sent via SQL*Net to client
241 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
1 sorts (memory)
0 sorts (disk)
3 rows processed
;
SET autotrace traceonly;
SELECT /*+ ORDERED USE_MERGE(E) */
*
FROM DEPT D,
EMP E
WHERE D.DEPTNO = E.DEPTNO
;
----------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
----------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 14 | 1974 | 12 (17)| 00:00:01 |
| 1 | MERGE JOIN | | 14 | 1974 | 12 (17)| 00:00:01 |
| 2 | SORT JOIN | | 4 | 176 | 6 (17)| 00:00:01 |
| 3 | TABLE ACCESS FULL| DEPT | 4 | 176 | 5 (0)| 00:00:01 |
|* 4 | SORT JOIN | | 14 | 1358 | 6 (17)| 00:00:01 |
| 5 | TABLE ACCESS FULL| EMP | 14 | 1358 | 5 (0)| 00:00:01 |
----------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
4 - access("D"."DEPTNO"="E"."DEPTNO")
filter("D"."DEPTNO"="E"."DEPTNO")
Note
-----
- dynamic sampling used for this statement
Statistics
----------------------------------------------------------
0 recursive calls
0 db block gets
30 consistent gets
14 physical reads
0 redo size
1313 bytes sent via SQL*Net to client
241 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
2 sorts (memory)
0 sorts (disk)
14 rows processed
;
SET autotrace traceonly;
SELECT EMPNO,
ENAME,
JOB,
MGR,
SAL,
AVG(SAL) OVER(PARTITION BY DEPTNO)
FROM EMP
;
---------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
---------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 14 | 1050 | 6 (17)| 00:00:01 |
| 1 | WINDOW SORT | | 14 | 1050 | 6 (17)| 00:00:01 |
| 2 | TABLE ACCESS FULL| EMP | 14 | 1050 | 5 (0)| 00:00:01 |
---------------------------------------------------------------------------
Note
-----
- dynamic sampling used for this statement
Statistics
----------------------------------------------------------
4 recursive calls
0 db block gets
31 consistent gets
0 physical reads
0 redo size
936 bytes sent via SQL*Net to client
241 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
1 sorts (memory)
0 sorts (disk)
14 rows processed
;
- 강좌 URL : http://www.gurubee.net/lecture/3239
- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^
- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.