SQL에서 인덱스는 데이터베이스 테이블에서 데이터 검색 작업의 속도를 최적화하는 데이터 구조입니다. 인덱스는 데이터베이스 엔진이 데이터를 빠르게 찾을 수 있도록 해주며, 이는 책의 색인과 유사합니다. 그러나 인덱스는 데이터가 변경될 때마다 업데이트해야 하므로 쓰기 작업에 오버헤드를 초래할 수 있습니다. SQL에서 인덱스는 클러스터형과 비클러스터형 두 가지 유형이 있습니다. 클러스터형 인덱스는 테이블의 데이터의 물리적 순서를 결정하며, 테이블당 한 번만 생성할 수 있습니다. 비클러스터형 인덱스는 테이블의 물리적 데이터를 가리키는 포인터를 유지하는 별도의 구조를 생성하며, 테이블당 여러 번 생성할 수 있습니다. 클러스터형 인덱스는 범위 쿼리에 효율적이며 클러스터형 인덱스 열에 대한 필터링 쿼리에 더 빠른 검색을 제공합니다. 비클러스터형 인덱스는 기본 키가 아닌 열에 대한 쿼리의 성능을 개선하며 다양한 쿼리 최적화를 위한 여러 인덱스를 허용합니다. 키의 순서에 따라 데이터를 검색할 때 클러스터형 인덱스를 사용하고, 다른 열에 대한 빈번한 쿼리에 검색 성능을 향상시키기 위해 비클러스터형 인덱스를 사용합니다. 인덱스는 데이터베이스 쿼리의 성능을 크게 향상시킬 수 있으므로 데이터베이스 관리를 위한 필수 도구입니다.
dev.to
Indexes in SQL | Clustered and Non Clustered Index
