[SQL] 인덱스 조각화
·
코딩 공부 기록/SQL
인덱스 조각화란?데이터의 삽입, 업데이트, 삭제와 같은 작업이 반복되면서 인덱스 페이지들이 물리적으로 비효율적인 상태로 변하는 현상이로 인해 데이터 검색 성능이 저하되고, 쿼리 실행 시간이 길어질 수 있다.조각화는 클러스터형 인덱스와 비클러스터형 인덱스에서 발생할 수 있는데, 1) 내부 조각화 와 2) 외부 조각화가 있다.  인덱스 조각화 발생 원인1. 데이터 삽입 : 새로운 데이터가 기존 페이지에 들어가지 못하고 새로운 페이지로 분산될 때.2. 데이터 삭제 : 삭제된 공간이 재사용되지 않고, 빈 공간으로 남아있는 경우.3. 데이터 업데이트 : 기존 데이터의 크기가 커져, 현재 페이지에 저장되지 못하고 다른 페이지로 이동할 때.4. 인덱스 재구성 부족 : 인덱스 생성 후, 오랜 기간 동안 인덱스를 재구성..
[MSSQL] 클러스터 인덱스(Clustered Index)와 비 클러스터 인덱스(Non Clustered Index)
·
코딩 공부 기록/SQL
인덱스(Index) 란? 인덱스는 데이터베이스에서 데이터를 빠르게 검색하기 위해 사용되는 데이터 구조이다.책의 목차나 색인처럼, 인덱스는 특정 데이터에 대한 위치 정보를 제공하여 검색 속도를 향상시킨다.  클러스터 인덱스(Clustered Index)  vs  비 클러스터 인덱스(Non Clustered Index)  클러스터 인덱스(Clustered Index)클러스터 인덱스는 테이블의 데이터가 물리적으로 정렬되어 저장되는 인덱스이다.인덱스 Leaf Node에 실제 데이터를 가진다. 주로 PK로 잡힌 인덱스 키값을 기준으로 데이터를 정렬하는데, INSERT 할 경우에도 전체 정렬이 된다.테이블 당 클러스터 인덱스는 1개만 생성 가능하다.데이터를 검색하면 키를 기반으로 직접 데이터 페이지를 찾아간다.데이..