사용자 도구

사이트 도구


study:oracle:datadb:1week_2

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판 양쪽 다음 판
study:oracle:datadb:1week_2 [2010/05/06 16:31]
ahmax
study:oracle:datadb:1week_2 [2010/05/06 16:34]
ahmax
줄 44: 줄 44:
  
 ==== 2.1.2 B-tree 인덱스의 조작(Operation) ==== ==== 2.1.2 B-tree 인덱스의 조작(Operation) ====
-   * **인덱스 생성(Creation)**+===가.인덱스 생성(Creation)===
 {{:study:oracle:datadb:b-tree3.jpg|}} {{:study:oracle:datadb:b-tree3.jpg|}}
       - 테이블을 액새스하여 정렬을 수행.       - 테이블을 액새스하여 정렬을 수행.
줄 66: 줄 66:
  
 :------------------------------------------------------------------------------------------------------ :------------------------------------------------------------------------------------------------------
-   * **인덱스 블럭의 분할(SPILT)**+===나.인덱스 블럭의 분할(SPILT)===
       * 인덱스 로우는 정렬이 되어 저장 되어야 하는 이유 때문에 이미 생성된 구조에 새로운 로우가 삽입되면 기존의 위치에 파고 들어가는 문제 발생       * 인덱스 로우는 정렬이 되어 저장 되어야 하는 이유 때문에 이미 생성된 구조에 새로운 로우가 삽입되면 기존의 위치에 파고 들어가는 문제 발생
 {{:study:oracle:datadb:b-tree4.jpg|}} {{:study:oracle:datadb:b-tree4.jpg|}}
줄 74: 줄 74:
  
 :------------------------------------------------------------------------------------------------------ :------------------------------------------------------------------------------------------------------
-   * **데이터의 삭제 및 갱신**+===다.데이터의 삭제 및 갱신===
       * 데이터를 삭제했을 경우 테이블의 로우는 제거되지만 인덱스의 로우는 삭제되었다는 표시(flag)만 추가된다.(저장공간낭비와 스캔시 액세스 블럭 증가)       * 데이터를 삭제했을 경우 테이블의 로우는 제거되지만 인덱스의 로우는 삭제되었다는 표시(flag)만 추가된다.(저장공간낭비와 스캔시 액세스 블럭 증가)
       * 한 리프 블럭이 모두 삭제 되었을 경우 브랜치 블럭에 해당 리프 블럭을 가리키는 로우도 삭제 표시가 된다.       * 한 리프 블럭이 모두 삭제 되었을 경우 브랜치 블럭에 해당 리프 블럭을 가리키는 로우도 삭제 표시가 된다.
줄 81: 줄 81:
       * 데이터처리(DML)가 많이 수행되는 테이블은 정기적으로 재생성을 할 필요가 있다.       * 데이터처리(DML)가 많이 수행되는 테이블은 정기적으로 재생성을 할 필요가 있다.
 :------------------------------------------------------------------------------------------------------ :------------------------------------------------------------------------------------------------------
-    * ** 인덱스를 경유한 검색**+===라.인덱스를 경유한 검색===
 {{:study:oracle:datadb:b-tree5.jpg|}} {{:study:oracle:datadb:b-tree5.jpg|}}
    * lmc는 브랜치 블럭의 첫 번째 로우의 값보다 적은 값을 갖는 하위의 블럭의 주소정보(dba:data block address)를 말한다.    * lmc는 브랜치 블럭의 첫 번째 로우의 값보다 적은 값을 갖는 하위의 블럭의 주소정보(dba:data block address)를 말한다.
줄 94: 줄 94:
 :------------------------------------------------------------------------------------------------------ :------------------------------------------------------------------------------------------------------
  
-=== B-tree인덱스의 문제점 ===+=== 마.B-tree인덱스의 문제점 ===
    * B-TREE인덱스에서는 실제 컬럼 값을 인덱스에도 보관하고 있어야 한다는 점이 대용량 데이터를 관리할 때 부담이 된다.    * B-TREE인덱스에서는 실제 컬럼 값을 인덱스에도 보관하고 있어야 한다는 점이 대용량 데이터를 관리할 때 부담이 된다.
    * B-TREE인덱스 컬럼값의 분포도가 좋아야 한다는 점    * B-TREE인덱스 컬럼값의 분포도가 좋아야 한다는 점
study/oracle/datadb/1week_2.txt · 마지막으로 수정됨: 2010/05/06 17:29 저자 ahmax