: 어떤 데이터가 HDD의 어디에 있는지 위치 정보를 가진 주소록, 자료구조, 데이터베이스 객체
Root 페이지(Block) ㄱ
Branch 페이지 -- 자식페이지의 정보 (대표id, 주소)
Leaf 페이지 -- 클러스터링: 실제 데이터
논클러스터: KEY컬럼 + 주소(ROWID) or pk
페이지
: 데이터가 저장되는 단위 = MySQL 16Kbyte
페이지 분할
: 추가할 공간이 없어서, 빈 페이지에 공평하게 나누어 저장
인덱스 사용 시 DML
- DELETE
사용안함 표시 → 페이지 낭비, 인덱스 조각화- UPDATE
사용안함 표시 후 삽입
인덱스 조각화(Index Split)
: 데이터 페이지가 물리적으로 분산되어 저장되는 현상
→ 여러 디스크 I/O 작업으로 성능 저하 초래 & 인덱스 페이지 내 빈 공간으로 조회 시간 증가
→ 인덱스 리빌드 작업 필요
→ 사전의 인덱스 → 실제 데이터와 무리를 이룸
1) PK
2) UNIQUE + NOT NULL
→ 책 뒤 찾아보기
1) UNIQUE
2) INDEX
3) UNIQUE INDEX
결합 인덱스(Composite Index)
: 두 개 이상의 컬럼을 합쳐서 인덱스를 만드는 것
카디널리티 Cardinality
: 그룹 내 요소의 개수
→ 카디널리티가 높은 (=중복도가 낮은) 컬럼에 인덱스 적용
1) 카디널리티가 높은 (=중복도가 낮은) 컬럼
2) Where, Join, Order 에 자주 사용되는 컬럼
3) 수정삭제가 자주 발생하지 않는 컬럼
4) 규모가 큰 테이블