top of page

Table & Index

테이블의 저장 구조는 2가지로 구성

  1. 힙: 클러스터형 인덱스가 없는 테이블

  2. 클러스터형 인덱스: 테이블에 클러스터형 인덱스를 생성하여 데이터가 B-Tree구조로 저장된 테이블

 

데이터를 저장할 때 정렬된 순서나 각 페이지끼리의 연결을 고려x, 정렬을 유지하기 위한 리소스나 인덱스 트리를 저장하기 위한 추가공간 필요x
테이블이 커지면 데이터를 검사할때 전체 스캔을 해서 인덱스를 생성하는것이 좋음

 

인덱스

  1. 클러스터형 인덱스: 인덱스 키 값을 기반으로 테이블의 데이터를 정렬,
    테이블 자체를 B-Tree형태로 저장

  2. 비클러스터형 인덱스: 특정 컬럼, 테이블 행의 주소 값으로만 따로 구성
    테이블과는 별개로 인덱스 키로만 구성된 별도의 B-Tree인덱스 영역이 생김

 

시퀀셜 액세스

데이터를 정렬된 순서로 차례대로 읽어가는 방식

랜덤 액세스

임의로 나열된 데이터의 할당 정보를 기억해 두었다가, 그 할당 정보만을 이용해서 읽어오는 방식으로 저장 위치와 상관없이 동일한 시간이 걸린다.

 

scan

테이블 전체 또는 인덱스의 리프 레벨을 모두 읽는것

 

seek(탐색)

인덱스 트리를 타고 단 하나의 값을 찍어 검색하는 방식

SELECT * FROM dbo.TIndex WHERE col3 = 1 AND col5 = '2013-05-09 02:36:41.947'

 

lookup

비클러스터형 인덱스에서 인덱스 레벨에 저장되어 있지 않은 행을 검색하기 위해 인덱스 레벨의 주소 값으로 직접 힙 또는 클러스터형 인덱스 영역에서 찾아오는것

bottom of page