힌트( Hint )
: SQL문 안에서 옵티마이저에게 실행 계획을 유도하는 명령어.
* ACCESS 관련
- INDEX( index_name )
: 지정된 인덱스를 사용
- FULL( table_alias )
: 테이블을 전체 스캔하도록 지시
- INDEX_DESC
: 인덱스를 내림차순으로 스캔하도록 지시
* JOIN 관련
- USE_NL( table_name )
: Nested Loop로 Join
- USE_HASH( table_name1, table_name2, ... )
: Hash로 Join
- USE_MERGE( table_name1, table_name2, ... )
: Merge로 Join
- LEADING( table_name1, table_name2, ... )
: Join의 선행 테이블 지정
- ORDERED( table_name1, table_name2, ... )
: 명시된 순서대로 jOIN
* 기타
- APPEND
- INSERT 작업시 Direct Path Insert 방식을 사용
- 일반 버퍼 캐시를 거치지 않고 바로 데이터 파일이 직접 기록
- REDO 로그를 줄이고, 버퍼 캐시를 최소화하여 속도가 빠름
- PARALLEL 힌트와 함께 사용 가능
- 주의사항
- 트리거가 무시되거나 비활성화 될 수 있음
- 기본적으로 제약 조건을 무시하지 않으나
병렬 DML과 함께 사용시 주의가 필요함.
- HWM( High Water Mark )가 올라가고
삭제 후 다시 INSERT하면 공간이 재사용되지 않고 계속 증가함
- DML 이후에 Commit 필요함
INSERT는 롤백 불가한 상태에 가깝기 때문에 반드시 Commit 해야 함
The End.
'Study > Oracle' 카테고리의 다른 글
| 오라클 통계함수 (0) | 2023.12.13 |
|---|---|
| 문자열 역순으로 바꾸기 (0) | 2020.10.24 |
| [Oracle/Sybase] Null값 처리하기 (0) | 2020.05.10 |
| 오라클 Listagg() 함수를 이용한 컬럼 열거하기 (0) | 2020.01.15 |
| Query (개발)표준 및 규칙 (0) | 2018.11.12 |