차례:
정의-색인 (IDX)이란 무엇입니까?
데이터베이스 시스템에서 인덱스 (IDX)는 데이터 검색 작업의 속도를 크게 높이기 위해 데이터베이스 테이블의 열에 정의 된 데이터 구조입니다. 인덱스는 키 값별로 정렬 된 데이터베이스 테이블의 작은 복사본입니다. 인덱스가 없으면 SQL과 같은 쿼리 언어는 전체 테이블을 위에서 아래로 스캔하여 관련 행을 선택해야 할 수 있습니다.
Techopedia는 색인 (IDX)을 설명합니다
인덱스는 공간을 소비하고 데이터베이스에 저장되므로 데이터베이스 테이블의 인덱스는주의해서 작성해야합니다. 기본 테이블을 업데이트 할 때 인덱스를 업데이트해야하므로 인덱스를 사용하면 쓰기 작업에 더 많은 시간이 걸릴 수 있습니다.
인덱스를 만드는 데 사용되는 다른 데이터 구조는 B + 트리, 균형 트리 및 해시입니다. 이러한 데이터 구조를 사용하면 전체 데이터베이스 테이블의 스캔이 비교적 쉽습니다.
함수 나 표현식에서 인덱스를 만들 수도 있습니다. 고유 색인은 색인 및 관련 테이블에서 중복 항목을 방지하여 제한 조건으로 작동합니다. 열 순서도 인덱싱의 중요한 측면입니다. 첫 번째 인덱스 열은 항상 우선 순위를 갖습니다. 행 식별자는 첫 번째 색인화 된 열을 기반으로 검색됩니다. 일반적인 시나리오에서 인덱스는 값을 반환하지 않고 레코드 만 찾습니다.
일반적으로 두 가지 유형의 인덱스 아키텍처가 있습니다.
- 클러스터형 인덱스 : 클러스터형 인덱스는 행 데이터를 순서대로 저장합니다. 데이터베이스 테이블에는 단일 클러스터형 인덱스 만 만들 수 있습니다. 이는 데이터가 증가 및 감소 순서로 정렬되거나 테이블과 관련된 열에 제한이 지정된 경우에만 효율적으로 작동합니다. 디스크에 데이터를 순차적으로 배열하면 블록 읽기가 줄어 듭니다.
- 비 클러스터형 인덱스 : 비 클러스터형 인덱스에서는 데이터가 임의의 방식으로 정렬되지만 논리적 순서는 인덱스에 의해 내부적으로 지정됩니다. 따라서 인덱스 순서는 실제 데이터 순서와 다릅니다. "create index"문은 기본적으로 비 클러스터형 인덱스를 만들고 기본 키에 클러스터형 인덱스도 만듭니다. 색인 키는 페이지에 대한 포인터가 포함 된 리프와 함께 여기에 정렬됩니다. 비 클러스터형 인덱스는 데이터가 자주 수정되고 WHERE 및 JOIN 문에서 순서대로 사용되는 열에 인덱스가 생성되는 테이블에서 잘 작동합니다.