Oracle Admin 강좌 (Oracle9i)
B-트리 인덱스 5 1 23,060

by 김정식 인덱스 LEAF CREATE INDEX B-TREE 인덱스 INDEX [2002.01.24]


B-tree 인덱스의 구조

  B-트리 인덱스는 관계형 데이터베이스에서 가장 일반적으로 사용되는 인덱스이다.

  나무구조(Tree)처럼 가지에 해당하는 브랜치 블럭과 잎사귀에 해당하는 리프 블럭이 있다.

  root block을 기준으로 branch block들의 깊이(depth)가 동일 하다. 모든 leaf block이 같은 높이에 위치하도록 유지한다.

  데이터를 가진 block에 탐색 시간을 동일(일정)하게 유지. 그러나 node block에 접근 시간(access time)이 동일(일정)한 것은 아님. 그래서 균형(balanced)이 잡혀있다.

  leaf block은 정렬(sorting)되어 있으며, 키 값의 내림차순은 물론 오름차순의 키 값으로 인덱스를 검색하는데 편리하도록 양방향(doubling)으로 연결(link)되어 있다.

  insert 발생 시 leaf block의 오른쪽으로 성장(즉, 오른쪽으로 insert 됨)하며 insert 후에 재정렬 작업 수행 한다.

 

인덱스 생성 문법

  • - UNIQUE : unique 인덱스로 지정(NONUNIQUE가 기본값)
  • - schema : 인덱스/테이블의 소유자
  • - index : 인덱스 명
  • - table : 테이블 명
  • - column : 열 이름
  • - tablespace : 인덱스가 생성 될 테이블스페이스를 지정
  • - LOGGING : 인덱스의 생성과 이후의 인덱스에 대한 작업이 리두 로그 파일에 기록 되도록 명시함.(기본값)
  • - NOLOGGING : 인덱스 생성과 특정 유형의 데이터 로드가 리두 로그 파일에 기록되지 않도록 명시함

 

인덱스 생성 예제

 
SQL> CREATE INDEX scott.emp_ename_idx
     ON scott.emp(ename)
     TABLESPACE idx;  
    

참고링크

- 강좌 URL : http://www.gurubee.net/lecture/1108

- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^

- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.

by 이창헌 [2007.08.29 15:42:08]
데이타 데이스에서는 b-tree대신 b-plus-tree를 사용하는 것으로 알고 있습니다.
혹시 제가 잘 못 알고 있는가 해서 질문 드립니다.
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입