finerss's world!

이클립스 유용한 단축키 컬렉션.. 정리하니 너무 조아~

소스단축키
1. 클래스나 메소드,멤버를 상세하게 검색하고자 할때 : ctrl + 마우스커서(F3)
2. 해당클래스의 Hierarchy를 보려고 할때 : 클래스명 선택하고 F4

이동 단축키
1. 열린 파일 모두 닫기 : CTRL + SHIFT + F4
2. 한줄 삭제 : CTRL + D
3. 현재 줄 이동 : ALT + UP or DOWN
4. Editor 로 커서 이동(컴파일 중 에러등으로 포커스가 다른데로 갔을 때) : F12
5. 특정 줄번호로 가기 : CTRL + L
6. 다음 문제(오류부분으로 가기) : CTRL + .(점)
7. 이전 문제(오류부분으로 가기) : CTRL + ,(콤마)
8. 다음(이전) 편집창으로 이동(윈도우에서의 Ctrl+Tab 과 같은 기능) : CTRL + (Shift) + F6
9. 마지막 편집 위치로 가기(다른 이동 단축키를 써서 특정 지역으로 왔을 때 바로 전의 위치로 가기) : CTRL + Q
10. 해당 구문의 참조 부분 검색(함수나 변수위에 커서가 있을 때 이 함수나 변수를 호출,사용하는 곳 검색) : CTRL + Shift + G

찾기
1. 찾기 : Ctrl+F
2. 다음찾기 : Ctrl+K
3. 이전찾기 : Ctrl+Shift|K
4. Incremental Search : Ctrl+J (next:DownArrow, prev:UpArrow)
5. Selection Word Search : Ctrl+K, Ctrl+Shift+K(Reverse)
6. 자바 찾기(자바의 클래스, 타입, 함수 이름등으로 찾을 수 있다. 문자열을 찾으려면 File Search 탭을 이용한다.) : Ctrl+H

디버깅 단축키
1. 브레이크 포인트(현 커서의 위치에 브레이크 포인터 설정/해제) : CTRL + Shift + B
2. 디버깅 시작 F11
3. 디버깅 계속 F8
4. Step Over(한줄씩 실행) F6
5. Step Into(한줄씩 실행하되 함수일 경우 그 함수 내부로 들어감) F5
6. Step out(현재 함수를 빠져나온다) F7
7. Run to Line(현재 라인까지 실행) CTRL + R

기타 단축키
1. 저장(JDT) 및 컴파일 CTRL + S
2. 열려진 모든 파일 저장(JDT) CTRL + Shift + S
3. 빠른 오류 수정(-Quick Fix) CTRL + 1 Eclipse 가 찾을 수 있는 간단한 문법적인 오류를 해결할 방법을 알려줍니다
4. 코드에 필요한 패키지 자동 import CTRL + Shift + O 현재 코드를 위해 import 해야할 패키지를 자동으로 import 코드를 넣어줍니다
5. 주석 처리(제거) CTRL + /(\) 현재 줄 혹은 선택된 구역의 주석으로 만들거나, 주석을 제거
6. 코드 형식 맞추기 Ctrl+Shift+F

7. 선택 영역 주석처리 Ctrl+/
8. 선택 영역 주석풀기 Ctrl+/

==============================================================================

Ctrl+Shift+F 코드 정리하기



이는 Eclipse에서 설정된 Code Formatter의 설정
프로젝트에서 개발된 모든 코드에 같은 코딩 규칙을 적용하고 싶다면..
결정된 Coding Convention에 따라 Code Formatter의 설정을 바꾼 다음,
[공통 템플릿(?)]
XML 파일로 Export하고, Import 시켜 적용

Ctrl+Shift+O

사용하지 않는 모든 import 문이 정리

한가지 유용한 기능은 같은 패키지 내에서 여러 개의 클래스를 import할 경우
예를 들어 한 패키지 내에서 4개 이상의 클래스를 import 한다면,
그것을 *로 합쳐서 표시하도록 하고 싶을 때...
window - preference 로 가서 java - code style - organize import에서
Number of imports needs for .*의 수를 4로 해놓으면,
같은 패키지에서 4개이상의 클래스가 임포트되면 *로 합쳐서 표시
(Apply 버튼 바로 위에 그 항목이 있습니다.)

전체 주석 처리
주석처리할 영역을 선택 한 다음 Ctrl+/
주석 해제 Ctrl+/

Ctrl+F6 많이 열려진 파일 쉽게 이동하기
해당 파일들 사이를 열려진 윈도우를 [ Alt+Tab ] 을 이용해서 이동하는 것 같은 기능

Ctrl+L 해당 라인으로 이동

줄번호가 항상 표시
window - preference -> Java - Editor -> "Show line numbers"를 체크

Javadoc 문서생성
Project 메뉴의 [ Generate Javadoc... ] 기능을 실행

전체 프로젝트를 백업
File 메뉴의 Export 기능을 실행
선택요소 중에서 ZIP 파일을 선택
일반적으로 자동 생성되는 JavaDoc 문서나 Classes 파일들은 백업하지 않음.
적당한 백업 파일 이름과 위치를 결정하고 Finish 버튼을 누르면 백업이 완료.

이클립스에서 유용한 단축키
Ctrl + e : 한줄지움

Ctrl + w : 메뉴보여줌

Ctrl + space : 클래스등 코드 도움

Ctrl + / : 한줄 주석 반대는 Ctrl + \

Ctrl + , : 찾기나, TASK항목 이동

Ctrl + . : 이동

Ctrl + F6 : Editor 선택

Ctrl + F7 : View 선택

Ctrl + F8 : Perspectieve 선택

Ctrl + F11 : 디버깅

Ctrl + 1 : QuickFix 실행

Ctrl + Shift + b : 브레이크 포인트

Ctrl + Shift + e : 현재 캐럿에서 끝까지 삭제

Ctrl + Shift + f : 코드 포맷팅

Ctrl + Shift + m : 자동 임포트

Ctrl + Shift + o : 임포트 자동 정리

Ctrl + Shift + space : 입력 파라미터 정보 보여줌

출처 : http://blog.naver.com/simz/



=========================================================================================

출처 : http://lhs0806.wowdns.com/tt/lhs/200
===== 실행 =====
1. Ctrl + F11 : 바로 전에 실행했던 클래스 실행
===== 소스 네비게이션 =====
1. Ctrl + 마우스커서(혹은 F3) : 클래스나 메소드 혹은 멤버를 상세하게 검색하고자 할때
2. Alt + ->, Alt + <- : 이후, 이전
3. Ctrl + o : 해당 소스의 메소드 리스트를 확인하려 할때
4. F4 : 클래스명을 선택하고 누르면 해당 클래스의 Hierarchy 를 볼 수 있다.
===== 문자열 찾기 =====
1. Ctrl + k : 찾고자 하는 문자열을 블럭으로 설정한 후 키를 누른다.
2. Ctrl + Shift + k : 역으로 찾고자 하는 문자열을 찾아감.
3. Ctrl + j : 입력하면서 찾을 수 있음.
4. Ctrl + Shift + j : 입력하면서 거꾸로 찾아갈 수 있음.
5. Ctrl + f : 기본적으로 찾기
===== 소스 편집 =====
1. Ctrl + Space : 입력 보조장치(Content Assistance) 강제 호출 => 입력하는 도중엔 언제라도 강제 호출 가능하다.
2. F2 : 컴파일 에러의 빨간줄에 커서를 갖져다가 이 키를 누르면 에러의 원인에 대한 힌트를 제공한다.
3. Ctrl + l : 원하는 소스 라인으로 이동
로컬 히스토리 기능을 이용하면 이전에 편집했던 내용으로 변환이 가능하다.
4. Ctrl + Shift + Space : 메소드의 가로안에 커서를 놓고 이 키를 누르면 파라미터 타입 힌트를 볼 수 있다.
5. 한줄 삭제 CTRL + D
6. 파일 닫기 : CTRL+W
7. 들여쓰기 자동 수정. (3.0 NEW) : CTRL+I
8. 블록 주석(/*..*/) 추가.(3.0 NEW): CTRL+SHIFT+/
8.1 Ctrl + / 해주면 여러줄이 한꺼번에 주석처리됨. 주석 해제하려면 반대로 하면 됨.
9. 위(아래)줄과 바꾸기 : ALT+UP(DOWN)
10. 블록 선택하기. : ALT+SHIFT+방향키
11. 메소드의 파라메터 목록 보기. : CTRL+SHIFT+SPACE
12. 자동으로 import 하기 : CTRL+SHIFT+O
13. 열린 파일 모두 닫기 : CTRL + SHIFT + F4
14. 블록 주석 제거 : CTRL+SHIFT+
15. 전체화면 토글 : CTRL+M
16. 한줄(블럭) 복사 : Ctrl + Alt + 위(아래)
17. 다음 annotation(에러, 워닝, 북마크 가능)으로 점프 : Ctrl + , or .
18. 퀵 픽스 : Ctrl + 1
19. 메소드 정의부로 이동 : F3
20. 하이어라키 ㅤㅍㅏㅍ업 창 띄우기(인터페이스 구현 클래스간 이동시 편리) : Ctrl + T
21. 메소드나 필드 이동하기 CTRL + O
22. ULTRAEDIT나 EDITPLUS 의 CTRL+TAB 과 같은 기능. : CTRL+F6
===== 템플릿 사용 =====
1. sysout 입력한 후 Ctrl + Space 하면 System.out.println(); 으로 바뀐다.
2. try 입력한 후 Ctrl + Space 하면 try-catch 문이 완성된다.
3. for 입력한 후 Ctrl + Space 하면 여러가지 for 문을 완성할 수 있다.
4. 템플릿을 수정하거나 추가하려면 환경설정/자바/편집기/템플리트 에서 할 수 있다.
===== 메소드 쉽게 생성하기 =====
1. 클래스의 멤버를 일단 먼저 생성한다.
2. override 메소드를 구현하려면 : 소스->메소드대체/구현 에서 해당 메소드를 체크한다.
3. 기타 클래스의 멤버가 클래스의 오브젝트라면 : 소스->위임메소드 생성에서 메소드를 선택한다.
===== organize import =====
1. 자바파일을 여러개 선택한 후 소스 -> 가져오기 체계화 해주면 모두 적용된다.
===== 소스 코드 형식 및 공통 주석 설정 =====
1. 환경설정 -> 자바 -> 코드 스타일 -> 코드 포멧터 -> 가져오기 -> 프로파일.xml 을 불러다가 쓰면 된다.
2. 또한 다수의 자바파일에 프로파일을 적용하려면 패키지 탐색기에서 패키지를 선택한 후 소스 -> 형식화를 선택하면 된다.
3. 환경설정 -> 자바 -> 코드 스타일 -> 코드 템플리트 -> 가져오기 -> 템플리트.xml 을 불러다가 쓰면 된다.
===== 에디터 변환 =====
1. 에디터가 여러 파일을 열어서 작업중일때 Ctrl + F6 키를 누르면 여러파일명이 나오고 F6키를 계속 누르면 아래로
2. Ctrl + Shift + F6 키를 누르면 위로 커서가 움직인다.
3. Ctrl + F7 : 뷰간 전환
4. Ctrl + F8 : 퍼스펙티브간 전환
5. F12 : 에디터로 포커스 위치

'공부 > 기타' 카테고리의 다른 글

토드 단축키  (0) 2012.01.04
Crontab 설정  (0) 2011.12.15
L4 로드밸런싱  (3) 2011.11.08
조인쿼리 정리  (0) 2011.06.13
OpenAPI OAuth  (0) 2011.06.13

토드 단축키

공부/기타2012. 1. 4. 09:34

--TOAD 메뉴얼--

toad 사용법
SQL EDITOR상에서의 편리한 단축키

ESC: 열린 윈도우 닫기
F1: 모든 단축키를 보여준다.
F2: FULL SCREEN
F4: Table, View, Proc, Funct, Package를 DESC(테이블명에 커서를 둔 상태에서 해야함)
F6: SQL Editor와 결과창간의 전환
F7: 화면을 모두 CLEAR
F8: 실행했던 SQL들의 HISTORY
F9: 모든 쿼리 실행(Ctrl+Enter는 현재 쿼리만 실행)
Ctrl+F9: 실제 쿼리를 실행하지 않고 validate함
Ctrl+. : table Completion (매칭되는 테이블목록 출력)
Ctrl+T : Columns Dropdown (해당테이블의 컬럼목록 표시)
Alt+Up : History Up (리눅스 bash의 UP키와 같다.)
Alt+Down: History Down (리눅스 bash의 DOWN키와 같다.)
Ctrl+Tab: MDI Child윈도간 전환

그냥 'desc 테이블명' 을 치면, 팝업윈도로 해당 테이블의 컬럼목록윈도가 표시된다.
이때, 해당 컬럼을 double-click하면 SQL Editor로 반영된다.

"테이블명."까지 입력하고 좀 있으면, 해당 테이블의 컬럼목록이 표시된다.
마치 프로그래밍툴에서 클래스내 멤버들의 목록을 표시하듯이..
Ctrl+T는 출력된 목록을 취소했을 경우, 다시 불러낼때 쓰인다.

test, member 2개의 테이블이 있다고 하자.
select * from t까지 입력하고 Ctrl+.를 치면 select * from test로 테이블명을 완성시켜준다.
system계정에서는 안되더군.. 일반계정만 가능했다.

SQL문을 실행시

Ctrl+Enter
현재 커서의 SQL문 실행
여러개의 SQL문이 있을때, SQL문들을 개행문자로 분리해주면 된다.
해당 커서에서 개행문자가 있는 곳까지만 하나의 SQL문으로 간주한다.

F9
SQL Editor의 SQL문 실행하여 Grid에 출력.
여러 SQL문들을 개행문자로 구분하지 않는다는 것을 제외하면, 위의 Ctrl+Enter와 동일하다.
에디터내의 모든 SQL문은 하나로 취급하므로, 여러 개의 SQL문이 있으면 실행할 SQL문만 Selection하여 실행(F9)해준다.

F5
SQL Editor내의 모든 SQL문 실행. 여러개의 SQL문들을 모두 실행하여 SQL*PLUS와 같이 출력해준다.
이것은 출력이 Grid로 표시되지 않고 Editor윈도에 표시되므로, SQL*PLUS의 출력과 같이,
다른 편집기로의 복사/붙여넣기 할때 사용하면 유용하다

'공부 > 기타' 카테고리의 다른 글

이클립스 단축키  (0) 2012.01.27
Crontab 설정  (0) 2011.12.15
L4 로드밸런싱  (3) 2011.11.08
조인쿼리 정리  (0) 2011.06.13
OpenAPI OAuth  (0) 2011.06.13

힌트의 사용법
{SELECT | INSERT | UPDATE | DELETE} /*+ hint [text] [hint [text]] ... */
혹은
{SELECT | INSERT | UPDATE | DELETE} --+ hint [text] [hint [text]] ...
- 이러한 힌트의 사용은 SQL 전체가 아닌 쓰여진 SQL 블럭에만 적용됩니다.
힌트의 종류 별 분류
Optimization Goals and Approaches
ALL_ROWS 혹은 FIRST_ROWS
CHOOSE
RULE
Acess Method Hints
AND_EQUAL
CLUSTER
FULL
HASH
INDEX 혹은 NO_INDEX
INDEX_ASC 혹은 INDEX_DESC
INDEX_COMBINE
INDEX_FFS
ROWID
Join Order Hints
ORDERED
STAR
Join Operation Hints
DRIVING_SITE
HASH_SJ, MERGE_SJ 혹은 NL_SJ
LEADING
USE_HASH 혹은 USE_MERGE
USE_NL
Parallel Execution Hints
PARALLEL 혹은 NOPARALLEL
PARALLEL_INDEX
PQ_DISTRIBUTE
NOPARALLEL_INDEX
Query Transformation Hints
EXPAND_GSET_TO_UNION
FACT 혹은 NOFACT
MERGE
NO_EXPAND
NO_MERGE
REWIRTE 혹은 NOREWRITE
STAR_TRANSFORMATION
USE_CONCAT
Other Hints
APPEND 혹은 NOAPPEND
CACHE 혹은 NOCACHE
CURSOR_SHARED_EXACT
DYNAMIC_SAMPLING
NESTED_TABLE_GET_REFS
UNNEST 혹은 NO_UNNEST
ORDERED_PREDICATES
힌트의 설명 및 사용법
ALL_ROWS
/*+ ALL_ROWS */
- 최소한의 자원을 사용하여 결과값의 전체를 추출하게 합니다.
AND_EQUAL
/*+ AND_EQUAL (table index index [index] [index] [index] ) */
- 복수의 단일 컬럼을 스캔하여 머지 방식으로 처리하게 합니다.
APPEND_HINT
/*+ APPEND */
- 직렬 모드 데이터베이스에서 Direct INSERT를 실행하게 합니다.
- Enterprise Edition 이 아닌 데이터베이스의 기본 모드는 직렬 모드입니다. 이러한 직렬 모드 데이터 베이스에서의 INSERT 작업은 Conventional를 기본값으로 하고 병렬 처리 시에는 Direct INSERT를 기본값으로 합니다.
CACHE_HINT
/*+ CACHE (table) +/
- 풀 테이블 스캔의 사용 시, 테이블에서 읽어온 블럭을 버퍼의 LRU 리스트 의 MRU 쪽에 위치시킵니다. 작은 테이블의 사용 시 유용합니다.
CHOOSE_HINT
/*+ CHOOSE +/
- Rule-Based 와 Cost-Based 방식 간의 선택을 유도합니다. 선택 기준은 사용 객체의 분석 정보 존재 여부이며, 사용되는 객체들중 하나라도 분석 정보가 존재한다면 Cost-Based 방식을 사용하게 됩니다.
CLUSTER_HINT
/*+ CLUSTER (table) +/
- 지정 테이블의 클러스터 스캔을 유도합니다. 클러스터된 객체에만 사용할 수 있습니다.
CURSOR_SHARING_EXACT
/*+ CURSOR_SHARING_EXACT +/
- 바인드 변수 값의 교체를 불가능하게 합니다.
- 기본적으로 CURSOR_SHARING 파라미터를 사용하여, 안전하다고 판단될 시 SQL 내의 바인드 변수 값을 교체할 수 있게 되어 있습니다.
DRIVING_SITE
/*+ DRIVING_SITE (table) +/
- 오라클이 선택한 SITE 대신, 지정한 SITE를 사용하여 쿼리를 실행합니다. Rule-Based 와 Cost-Based, 두 모드 다 사용 가능합니다.
DYNAMIC_SAMPLING
/*+ DYNAMIC_SAMPLING ( [table] n ) +/
- 해당 객체의 Selectivity 와 Cardinality 에 대한 보다 자세한 정보를 자동으로 생성시켜 실행합니다.
- 값은 0 부터 10 까지 지정할 수 있으며, 높을 수록 보다 자세한 정보를 생성하게 됩니다. 테이블에 해당 값을 지정하지 않았을 경우, 기본 값은 CURSOR 레벨의 값이 쓰여집니다.
EXPAND_GSET_TO_UNION
/*+ EXPAND_GSET_TO_UNION +/
- GROUP BY GROUPING SET 혹은 GROUP BY ROLLUP 등과 같은 구문을 포함하는 쿼리에 사용할 수 있습니다.
- 이 힌트는 기존의 쿼리를 개별적인 그룹 생성 후, UNION ALL 방식으로 실행되게 유도합니다.
FACT_HINT
/*+ FACT (table) +/
- 스타 변형 구문에서 사용되며 해당 테이블이 FACT 테이블로 사용되게 유도합니다.
FIRST_ROWS
/*+ FIRST_ROWS (n) +/
- 전체 결과값의 반환 대신 지정한 숫자만큼 로우의 결과값을 반환하는데 집중하게 유도합니다.
FULL_HINT
/*+ FULL (table) */
- 지정한 테이블에 대해 풀 테이블 스캔을 유도합니다.
HASH_HINT
/*+ HASH (table) */
- 지정한 테이블에 대해 hash 스캔을 수행하도록 유도합니다.
- 클러스터 테이블 만을 대상으로 합니다.
HASH_AJ
/*+ HASH_AJ */
- EXISTS 구문 뒤에 오는 서브 쿼리에 사용되며 HASH_SJ, MERGE_SJ 혹은 NL_SJ 등을 사용할 수 있습니다.
- HASH_SJ 은 hash semi-join 이고, MERGE_SJ 은 sort merge semi-join 이며 NL_SJ 은 nested loop semi-join 입니다.
INDEX
/*+ INDEX (table index [index] [index] ... ) */
- 지정한 테이블의 인덱스 스캔을 실행하도록 유도합니다.
- Domain, B-tree, bitmap, bitmap join 인덱스 등이 사용될 수 있으나, bitmap 인덱스 들의 사용 시, INDEX 힌트보다는 INDEX_COMBINE 힌트 사용이 추천됩니다.
INDEX_ASC
/*+ INDEX-ASC (table [index] [index] ... ) +/
- 해당 테이블의 인덱스를 순차적 방식으로 스캔하게 합니다.
- 해당 쿼리가 인덱스 범위 스캔의 사용 시, 인덱스 값의 순차적 방식으로 읽게 됩니다.
INDEX_COMBINE
/*+ INDEX_COMBINE (table [index] [index] ... ) +/
- 해당 테이블에 Bitmap 인덱스의 존재 시, Bitmap 인덱스를 통한 액세스를 유도합니다.
- 힌트 내에 인덱스의 이름이 쓰여지지 않을 시, 해당 인덱스의 Boolean 값을 사용하여 최적의 Cost를 산출하여 실행하게 됩니다.
INDEX_DESC
/*+ INDEX_DESC (table [index] [index] ... ) +/
- 지정한 인덱스에 대해 인덱스 스캔을 역순으로 실행합니다.
- 해당 쿼리가 인덱스 범위 스캔의 사용 시, 인덱스 컬럼의 값을 사용하여 역순으로 실행합니다.
- 파티션 인덱스에서는 파티션 별 개별적인 실행이 이루어집니다.
INDEX_FFS
/*+ INDEX_FFS (table [index] [index] ... ) +/
- 풀 테이블 스캔 대신에 빠른 풀 테이블 스캔의 실행을 유도합니다.
LEADING_HINT
/*+ LEADING (table) +/
- 테이블 간의 조인 시에 지정한 테이블을 먼저 수행하도록 유도합니다.
- 두 개 이상의 LEADING 힌트의 사용 시, 힌트 자체가 사용되어 지지 않습니다.
- ORDERED 힌트와 더불어 사용시, LEADING 힌트는 사용되지 않습니다.
MERGE
/*+ MERGE (table) +/
- 각 쿼리의 결과값을 머지합니다.
- 해당 쿼리 내에 GROUP BY 절의 사용 이나 SELECT 구문에 DISTINCT 가 사용되었을 시, 머지의 실행이 가능할 경우에만 힌트가 실행됩니다.
- IN 과 서브 쿼리의 사용 시, 서브 쿼리와 상위 쿼리 간의 상호 관계가 없을 때에만 머지의 실행이 가능합니다.
- 이 힌트는 Cost-based 가 아닙니다. 따라서 액세스하는 실행 쿼리 블럭에 MERGE 힌트가 반드시 명시되어야만 합니다. 그렇지 않을 경우 옵티마이저는 다른 실행 계획을 수립합니다.
MERGE_AJ
HASH_AJ 를 참조하십시요.
MERGE_SJ
HASH_AJ 를 참조하십시요.
NL_AJ
HASH_AJ 를 참조하십시요.
NL_SJ
HASH_AJ 를 참조하십시요.
NOAPPEND
/*+ NOAPPEND +/
- 병럴 모드에서의 INSERT 작업을 Conventional 방식으로 수행합니다.
- 병렬 모드에서는 Direct-path INSERT 가, 직렬 모드에서는 Conventional INSERT가 기본값입니다.
NOCACHE
/*+ NOCACHE (table) +/
- 풀 테이블 스캔의 사용 시, 테이블에서 읽어온 블럭을 버퍼의 LRU 리스트 의 LRU 쪽에 위치시킵니다. 기본 모드입니다.
NO_EXPAND
/*+ NO_EXPAND +/
- 실행 쿼리 내에 OR 나 WHERE 절의 IN 이 사용되었을 시, Cost-Based 옵티마이저가 쿼리 처리를위해 OR 를 사용한 확장을 사용하는 것을 방지합니다.
- 일반적으로 옵티마이저는 위와 같은 경우 OR – 확장의 가격이 확장을 사용하지 않는 것보다 적을 시, 확장 방식으로 수행합니다.
NO_FACT
/*+ NO_FACT (table) +/
- Star 변형 시, 해당 테이블의 FACT 테이블로서의 사용을 방지합니다.
NO_INDEX
/*+ NO_INDEX (table [index] [index] ... ) +/
- 지정 테이블의 인덱스 사용을 방지합니다.
NO_MERGE
/*+ NO_MERGE (table) +/
- 머지 처리 방식의 사용을 방지합니다.
NOPARALLEL
/*+ NOPARALLEL (table) +/
- 지정한 테이블의 병렬 처리를 방지합니다.
- 테이블의 지정된 PARALLEL 값에 대해서 우선권을 가집니다.
- 중첩 테이블에 대해서는 병렬 처리를 할 수 없습니다.
NOPARALLEL_INDEX
/*+ NOPARALLEL_INDEX (table [index] [index] ... ) +/
- 인덱스 스캔 작업의 병렬 처리를 방지합니다.
- 인덱스에 지정된 PARALLEL 값에 우선권을 가집니다.
NO_PUSH_PRED
/*+ NO_PUSH_PRED (table) +/
- 결과값에 대한 조인 방식 서술의 강제적 수행을 방지합니다.
NO_PUSH_SUBQ
/*+ NO_PUSH_SUBQ +/
- 서브 쿼리의 결과값을 머지하지 않는 실행 계획이 실행 계획 설립 단계에서 제일 마지막으로 참조되는 것을 방지합니다.
- 일반적으로 서브 쿼리의 Cost 가 높거나, 처리 로우의 갯수를 크게 줄여주지 못할 때에는 서브 쿼리를 마지막에 참조하는 것이 성능 향상에 도움이 됩니다.
NOREWRITE
/*+ NOREWRITE +/
- 해당 쿼리 블럭의 쿼리 재생성의 실행을 방지합니다.
- QUERY_REWRITE_ENALBE 파라미터에 대해 우선권을 가집니다.
- NOREWRITE 힌트의 사용 시, Function-Based 인덱스의 사용이 금지됩니다.
NO_UNNEST
/*+ NO_UNNEST +/
- 해당 서브 쿼리 블럭의 UNNESTING 설정의 사용을 방지합니다.
ORDERED
/*+ ORDERED +/
- FROM 절에 나열된 테이블의 순서대로 조인 작업을 실행합니다.
ORDERED_PREDICATE
/*+ ORDERED_PREDICATE +/
- 옵티마이저에 의한 조인 관계의 Cost를 산출하기 위해 미리 정해둔 조인 관계 별 실행 순서의 사용을 방지합니다.
n 인덱스 키를 사용한 조인 관계들은 제외됩니다.
- 이 힌트는 쿼리의 WHERE 절에 사용하십시요.
PARALLEL
/*+ PARALLEL (table [ [, n |, DEFAULT |, ] [, n | DEFAULT ] ] ) +/
- 병렬 처리에 사용될 서버 프로세스의 갯수를 설정합니다.
- 병렬 처리 조건에 위배될 시, 힌트는 사용되지 않습니다.
- 임시 테이블에 대한 PARALLEL_HINT 사용 시, 힌트는 사용되지 않습니다.
PARALLEL_INDEX
/*+ PARALLEL_INDEX (table [ [index] [, index]...]
[ [, n |, DEFAULT |, ] [, n | DEFAULT ] ] ) +/
- 파티션 인덱스의 인덱스 범위 스캔 작업의 병렬 처리에 할당될 서버 프로세스의 갯수를 지정합니다.
PQ_DISTRIBUTE
/*+ PQ_DISTRIBUTE (table [,] outer_distribution, inner_distribution) +/
- 병렬 조인 시, Producer 프로세스와 Consumer 프로세스 간의 데이터 전달 방식을 지정합니다.
PUSH_PRED
/*+ PUSH_PRED (table) +/
- 결과값에 대한 조인 방식 서술의 강제적 수행을 실행합니다.
PUSH_SUBQ
/*+ PUSH_SUBQ +/
- 머지가 불가능한 서브 쿼리들의 우선 실행 계획을 실행 계획 수립시 먼저 참조하도록 합니다.
- 서브 쿼리의 사용 객체가 Remote 테이블이거나, 머지 조인의 사용 시 힌트는 실행되지 않습니다.
REWRITE
/*+ REWRITE [ ( [materialized_view] [materialized_view]...) ] +/
- 실행 계획의 가격에 상관없이 Materialized View 를 사용하여 쿼리 재생성을 하도록 합니다.
- Materialized View 를 지정할 시, 지정한 Materialized View 의 가격에 상관없이 무조건 쿼리 재생성을 실행합니다.
- Materialized View 를 지정하지 않을 시, 오라클은 사용 가능한 모든 Materialized View 를 참조하여 그 중 가장 가격이 낮은 Materialized View 를 사용하여 쿼리 재생성을 합니다.
- Materialized View 를 지정하지 않는 힌트의 사용이 권장됩니다.
ROW_ID
/*+ ROWID (table) +/
- 지정한 테이블의 스캔을 ROWID 방식으로 수행하게 합니다.
RULE
/*+ RULE +/
- 실행 계획을 Rule-Based 방식으로 실행하게 합니다.
- 해당 쿼리 블럭에 다른 힌트 또한 사용되었을 경우, 다른 힌트들은 사용되지 않습니다.
STAR
/*+ STAR +/
- Star 쿼리 계획이 사용 가능하다면, 실행하게 합니다.
- Star 쿼리 계획이란 가장 큰 테이블이 마지막 순서로 조인되며, 조인될 시 가장 큰 테이블 내의 Concatenated 인덱스에 대해 Nested Loop 조인 방식으로 실행되는 것을 말합니다.
- 최소한 세개 이상의 테이블이 사용되며, 제일 큰 테이블의 Concatenated 인덱스의 생성에 최소한 세 개 이상의 컬럼이 사용되어야 하며, 액세스나 조인 방식에 충돌이 없어야만 이 힌트는 사용됩니다.
STAR_TRANSFORMATION
/*+ STAR_TRANSFORMATION +/
- 옵티마이저가 Star 변형 작업에 최적화된 실행 계획을 수립, 실행하도록 합니다.
- 힌트를 사용하지 않을 시, 옵티마이저는 일반적인 작업에 최적화된 실행 계획을 수행합니다.
- 힌트를 사용하였어도 변형 작업에 맞추어진 실행 계획을 실행한다는 보장은 없습니다. 다른 일반적인 힌트의 사용과 마찬가지로 비교 분석 후, 오라클의 판단에 따라 다른 실행 계획이 실행될 수 있습니다.
UNNEST
/*+ UNNEST +/
- 서브 쿼리 블럭에 대해 인증성 만을 검사하게 합니다.
- 인증이 되었다면 그 이상의 검증 작업없이 서브쿼리에 대한 UNNESTING 의 설정을 가능하게 합니다.
USE_CONCAT
/*+ USE_CONCAT +/
- WHERE 절의 OR 조인 을 UNION ALL 로 변경하여 수행하게 합니다.
- 일반적으로 이러한 변경은 결과값의 병합 수행의 가격이 수행하지 않을 시의 가격 보다 낮을 때에만 실행됩니다.
USE_HASH
/*+ USE_HASH (table [table]...) +/
- Hash 조인 방식으로 각 테이블을 조인하게 합니다.
USE_MERGE
/*+ USE_MERGE (table [table]...) +/
- Sort-Merge 방식으로 각 테이블을 조인하게 합니다.
USE_NL
/*+ USE_NL (table [table]...) +/
- Nested-Loop 방식으로 각 테이블을 조인하게 합니다.

'공부' 카테고리의 다른 글

리눅스 기본명령어  (0) 2011.12.15
Oracle 날짜함수  (0) 2011.08.08
ORACLE에서 제공되는 내장함수  (0) 2011.08.08
스프링을 공부하기전에  (0) 2011.07.01
공부의 필요성을 느끼다...  (0) 2011.06.08