Free Lines Arrow
본문 바로가기
DataBase/DB 기초

[DB] Index 기초

by skahn1215 2021. 8. 19.
728x90
반응형

Index 란?

  • DB 테이블의 검색속도를 향상시키키 위한 자료구조이다.
    - 결국엔 하나의 테이블이다.
  • 책에 표지순서가 없으면 A에 대한내용이 나올때까지 다 찾아봐야 한다.
  • 표지순서가 있다면 A를 금방 찾을수 있다.

 

클러스터(Cluster)

  • 갑자기 클러스터가 나와서 뭐지?  싶었다.
    - 인덱스 개념과 이어지기 때문에 알고 있는게 좋을것 같다.

  • 클러스터는 다중데이터베이스와 다중테이블이 조인되는것을 말한다.
  • 클러스터키 값을 공유하는 테이블들의 레코드는 근처의 DB 블록에 함께 저장된다.
  •  클러스터는 B-Tree 인덱스 또는 해쉬 테이블로 키화된다

 

장점

  • 클러스터키 값을 공유하는 테이블들의 레코드는 근처의 DB 블록에 함께 저장된다.
    - 디스크 I/O 를 줄여준다,.
  • Join 이 발생할 경우 처리시간이 단축된다.

  • 클러스터키 값을 공유한다
    - 한번만 저장이 된다.

 

 

비클러스터화된 인덱스

  • 데이터는 임의의 순서로 존재하지만
  • 논리적 순서는 인덱스에 의해 지정된다
  • 데이터 열은 인덱스화된 컬럼 또는 표현의 값과는 상관없이 테이블 전체에 퍼져있다

 

클러스터화된 인덱스

  • 클러스터링은 인덱스를 매칭시키기 위해서 데이터 블록을 어떤 분명한 순서로 바꾼다
  • 이것은 열 데이터가 순서대로 저장되는 것으로 이어진다
  • 클러스터화된 인덱스는 전반적인 불러오기 속도를 엄청나게 향상시킨다

 

 

Index의 종류

  • Bitmap Index:
    - Bit 를 이용하여 컬럼 값을 저장한다.
    - ROWID 를 자동으로 생성한다.
  • Dense Index:
    - 데이터 파일 내의 모든 레코드에 대한 키와 포인터 쌍을 가진파일이다.
    - 중복키를 가진 클러스터스 인덱스에서 첫번째 레코드를 키로 가지고 있는다.
  • Sparse Index:
    - 데이터 파일 내의 모든 블록에 대한 키와 포인터 쌍을 가진 파일이다.
    - 키는 포인터로 정렬된 테이터 파일 내의 블록을 가르킨다.
    - 클러스터드 인덱스에서 블록 내의 가장 빈도가 낮은 검색 키를 가르킨다.
  • Reverse Index:
    키값을 뒤집어서 인덱스안에 저장한다.

 

 

Index의 장단점

장점

  • 조회속도 및 성능향상
  • 시스템 부하를 줄일수 있다.

단점

  • Index를 따로 관리해야 되기때문에 추가적인 공간이 필요하다
  • 인덱스를 관리하기 위한 추가작업이 필요하다.
  • 인덱스를 잘못 사용할 경우 성능이 떨어진다.

 

 

 

 

 

728x90
반응형

'DataBase > DB 기초' 카테고리의 다른 글

[DB] Index 기본  (0) 2023.02.09
[DB] NoSQL  (0) 2021.08.19
[DB] GROUP BY  (0) 2021.08.05
[DB] Join  (0) 2021.08.05
[DB] 트랜잭션  (0) 2021.07.21

댓글