일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 기타소득
- Report Designer
- JEUS
- Eclipse
- java
- Excel
- MIP
- 에러
- 오라클
- DB
- JavaScript
- 자바
- 한글
- 데이터베이스
- oracle
- 함수
- Tomcat
- 태그를 입력해 주세요.
- 튜닝
- 도서
- 마이플랫폼
- 회계
- 오류
- miplatform
- 성능
- 엑셀
- 톰캣
- 이클립스
- Book
- error
Archives
- Today
- Total
어느 가을날의 전환점
ORACLE|인덱스(Index) 본문
※ Index를 생성하는 것이 좋은 Column
① WHERE절이나 join조건 안에서 자주 사용되는 컬럼
② null 값이 많이 포함되어 있는 컬럼
③ WHERE절이나 join조건에서 자주 사용되는 두 개이상의 컬럼들
◈ 다음과 같은 경우에는 index 생성이 불필요 합니다.
① table이 작을 때
③ 테이블이 자주 갱신될 때 |
※ B-tree(binary search tree)
-. 오라클 인덱스는 B-tree(binary search tree)에 대한 원리를 기반으로 하고 있습니다.
-. B-tree인덱스는 컬럼안에 독특한 데이터가 많을 때 가장 좋은 효과를 냅니다.
이 알고리즘 원리는
① 주어진 값을 리스트의 중간점에 있는 값과 비교합니다.
만약 그 값이 더 크면 리스트의 아래쪽 반을 버립니다. 만약 그 값이 더 작다면 위쪽 반을 버립니다.
② 하나의 값이 발견될 때 까지 또는 리스트가 끝날 때까지 그와 같은 작업을 다른 반쪽에도 반복합니다.
(1) Bitmap 인덱스
- 비트맵 인덱스는 각 컬럼에 대해 적은 개수의 독특한 값이 있을 경우에 가장 잘 작동합니다.
그러므로 비트맵 인덱스는 B-tree 인덱스가 사용되지 않을 경우에서 성능을 향상 시킵니다. - 테이블이 매우 크거나 수정/변경이 잘 일어나지 않는 경우에 사용할 수 있습니다.
예를 들어 여권 기록을 포함하고 있는 테이블의 성별 열이나 결혼 여부 열의 경우에는 B-트리 인덱스 보다는 비트맵 인덱스가 더 유리할 것입니다. - 질의문이 OR 연산자를 포함하는 여러 개의 WHERE 조건을 자주 사용할 때 유리합니다
(2) Unique 인덱스
- Unique 인덱스는 인덱스를 사용한 컬럼의 중복값들을 포함하지 않고 사용할 수 있는 장점이 있습니다.
- 프라이머리키 와 Unique 제약 조건시 생성되는 인덱스는 Unique 인덱스입니다.
(3) Non-Unique 인덱스
- Non-Unique 인덱스는 인덱스를 사용한 컬럼에 중복 데이터 값을 가질 수 있습니다.
'Database > Oracle' 카테고리의 다른 글
ORACLE|JOIN 성능 - 일반적으로 크기가 작은 테이블이 먼저 드라이빙 되는 것이 빠르다. (0) | 2010.07.28 |
---|---|
ORACLE|조인(Join) - Nested Loops, Sort Merge, Hash (0) | 2010.07.28 |
ORACLE|대용량 데이터베이스 솔루션 1, 2 STUDY 자료 (0) | 2010.07.09 |
ORACLE|대형 데이터 관리 (LOB, BLOB, CLOB) with Java (0) | 2010.07.09 |
ORACLE|ORA-00980 : synonym translation is no longer valid (0) | 2010.07.06 |
Comments