03A
03A ๊ด๋ จ
Hint
๊ธฐ๋ณธ ์ฌ์ฉ์
SELECT /*+ INDEX(idx_col1) */
id, password, name
FROM
emp;
SELECT /*+ ORDERED INDEX(b idx_col1) */
id, password, name
FROM
emp a, depart b
์ฃผ์: ์ฃผ์ ํ์ ๋ค์
+
๊ธฐํธ๊ฐ ์๋ค
Hint ์ ํ
INDEX Access Operation related HINT
Hint | Description | Usage |
---|---|---|
INDEX | INDEX ๋ฅผ ์์ฐจ์ ์ผ๋ก ์ค์บ | INDEX(TABLE_name, INDEX_name) |
INDEX_ASC | INDEX ๋ฅผ ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ค์บ. | _ |
INDEX_DESC | INDEX ๋ฅผ ์ค๋ฆ์ฐจ์์ผ๋ก ์ค์บ. | INDEX_DESC(TABLE_name, INDEX_name) |
INDEX_FFS | INDEX FAST FULL SCAN | INDEX_FFS(TABLE_name, INDEX_name) |
PARALLEL_INDEX | INDEX PARALLEL SCAN | PARALLEL_INDEX(TABLE_name, INDEX_name) |
NOPARALLEL_INDEX | INDEX PARALLEL SCAN ์ ํ | NOPARALLEL_INDEX(TABLE_name, INDEX_name) |
AND_EQUALS | ์ฌ๋ฌ๊ฐ์ INDEX MARGE ์ํ | AND_EQUALS(INDEX_name, INDEX_name) |
FULL | FULL SCAN ์ง์ ๋ ํ
์ด๋ธ์ ๋ํ ์ ์ฒด ์ค์บ. | FULL(TABLE_name) |
JOIN
Access Operator related HINT
HINT | Description | Usage |
---|---|---|
USE_NL | NESTED LOOP JOIN ์ตํฐ๋ง์ด์ ๊ฐ NESTED LOOP JOIN์ ์ฌ์ฉํ๋๋ก ํ๋ค. ๋จผ์ ํน์ TABLE์ ROW์ ์ก์ธ์คํ๊ณ ๊ทธ ๊ฐ์ ํด๋นํ๋ ๋ค๋ฅธ TABLE์ ROW๋ฅผ ์ฐพ๋ ์์ ์ ํด๋น๋ฒ์๊น์ง ์คํํ๋ ์กฐ์ธ. | USE_NL(TABLE1, TABLE2) |
USE_NL_WITH_INDEX | INDEX๋ฅผ ์ฌ์ฉํด์ NESTED LOOP JOIN์ ์ฌ์ฉํ๋๋ก ํ๋ค. | USE_NL_WITH_INDEX(TABLE INDEX) |
USE_MERGE | SORT MERGE JOIN ์ตํฐ๋ง์ด์ ๊ฐ SORT MERGE JOIN์ ์ฌ์ฉํ๋๋ก ํ๋ค. ๋จผ์ ๊ฐ๊ฐ์ TABLE์ ์ฒ๋ฆฌ ๋ฒ์๋ฅผ ์ค์บํ์ฌ SORTํ ํ, ์๋ก MERGEํ๋ฉด์ JOINํ๋ ๋ฐฉ์. | USE_MERGE(TABLE1, TABLE2) |
USE_HASH | HASH JOIN ์ตํฐ๋ง์ด์ ๊ฐ HASH JOIN์ ์ฌ์ฉํ๋๋ก ํ๋ค. | USE_HASH(TABLE1, TABLE2) |
HASH_AJ | HASH ANTIJOIN | HASH_AJ(TABLE1, TABLE2) |
HASH_SJ | HASH SEMIJOIN | HASH_SJ(TABLE1, TABLE2) |
NL_AJ | NESTED LOOP ANTIJOIN | NL_AJ(TABLE1, TABLE2) |
NL_SJ | NESTED LOOP SEMIJOIN | NL_SJ(TABLE1, TABLE2) |
MERGE_AJ | SORT MERGE ANTIJOIN | MERGE_AJ(TABLE1, TABLE2) |
MERGE_SJ | SORT MERGE SEMIJOIN | MERGE_SJ(TABLE1, TABLE2) |
JOIN
์ DRIVING ์์ ๊ฒฐ์ HINT
| HINT | Description | Usage | | ORDERED
| FROM์ ์ ๋ช
์๋ ํ
์ด๋ธ์ ์์๋๋ก DRIVING | _ | | LEADING
| ํ๋ผ๋ฏธํฐ์ ๋ช
์๋ ํ
์ด๋ธ์ ์์๋๋ก JOIN | LEAING(TABLE_name1, TABLE_name2, ...)
| | DRIVING
| ํด๋น ํ
์ด๋ธ์ ๋จผ์ DRIVING | DRIVING(TABLE)
|
Misc. HINT
| HINT | Description | Usage | | APPEND
| INSERT
์ DIRECT LOADING | _ | | PARALLEL
| SELECT
, INSERT
์ ์ฌ๋ฌ๊ฐ์ ํ๋ก์ธ์ค๋ก ์ํ | PARALLEL(TABLE, ๊ฐ์)
| | CACHE
| ๋ฐ์ดํฐ๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ CACHING | _ | | NOCACHE
| ๋ฐ์ดํฐ๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ CACHINGํ์ง ์์ | _ | | PUSH_SUBQ
| SUBQUERY๋ฅผ ๋จผ์ ์ํ | _ | | REWRITE
| QUERY REWRITE ์ํ | _ | | NOREWIRTE
| QUERY REWRITE๋ฅผ ์ํ ๋ชปํจ | _ | | USE_CONCAT
| IN์ ์ CONCATENATION ACCESS OPERATION์ผ๋ก ์ํ | _ | | USE_EXPAND
| IN์ ์ CONCATENATION ACCESS OPERATION์ผ๋ก ์ํ๋ชปํ๊ฒ ํจ | _ | | MERGE
| VIEW MERGING ์ํ | _ | | NO_MERGE
| VIEW MERGING ์ํ๋ชปํ๊ฒ ํจ | _ | | ALL_ROWS
| ๊ฐ์ฅ ์ข์ ๋จ์ ์ฒ๋ฆฌ๋์ ๋ชฉํ๋ก ๋ฌธ ๋ธ๋ก์ ์ต์ ํํ๊ธฐ ์ํด cost-based ์ ๊ทผ ๋ฐฉ๋ฒ์ ์ ํํฉ๋๋ค. (์ฆ, ์ ์ฒด์ ์ธ ์ต์์ ์์ ์๋น, ๋ชจ๋ ๋ ์ฝ๋์ ์ฒ๋ฆฌํ๋ ์๊ฐ์ ์ต์ํ๋ฅผ ๋ชฉ์ ์ผ๋ก ์ต์ ํ) | _ | | FIRST_ROWS
| ๊ฐ์ฅ ์ข์ ์๋ต ์๊ฐ์ ๋ชฉํ๋ก ๋ฌธ ๋ธ๋ก์ ์ต์ ํํ๊ธฐ ์ํด cost-based ์ ๊ทผ ๋ฐฉ๋ฒ์ ์ ํํฉ๋๋ค. (์ฒซ๋ฒ์งธ ๋ ์ฝ๋์ ์ถ์ถ ์๊ฐ์ ์ต์ํํ ๋ชฉ์ ์ผ๋ก ์ต์ ํ) | _ | | CHOOSE
| ์ต์ ์(optimizer)๊ฐ ๊ทธ ๋ฌธ์ ์ํด ์ ๊ทผ๋ ํ
์ด๋ธ์ ์ํด ํต๊ณ์ ์กด์ฌ์ ๊ทผ๊ฑฐ๋ฅผ ๋๋ SQL๋ฌธ์ ์ํด rule-based ์ ๊ทผ ๋ฐฉ๋ฒ๊ณผ cost-based ์ ๊ทผ ๋ฐฉ๋ฒ ์ฌ์ด์ ์ ํํ๊ฒ ๋ฉ๋๋ค. | _ | | CLUSTER
| ์ง์ ๋ ํ
์ด๋ธ์ ๋ํ ํด๋ฌ์คํฐ ์ค์บ. | _ | | HASH
| ์ง์ ๋ ํ
์ด๋ธ์ ๋ํ ํด์ฌ ์ค์บ. | _ | | ROWID
| ์ง์ ๋ ํ
์ด๋ธ์ ๋ํ ROWID์ ์ํ ํ
์ด๋ธ ์ค์บ. | _ | | RULE
| explicitlly chooses rule-based optimization for a statement block. rule-base Optimizer๋ฅผ ์ฌ์ฉ | _ |
References
- ์ถ์ฒ: ์ด๋ก์ง๋ถ์ ์ค
- ์ ๋ฆฌํ ์์: http://wiki.gurubee.net/download/attachments/983183/HINT_Dictionray.xls?version=1