[DB] PRIMARY INDEX, SECONDARY INDEX, COMPOSITE INDEX
- Primary index vs Secondary index
- == Primary index는 데이터베이스에서 기본 키(primary key)에 대한 인덱스입니다.Secondary index는 테이블의 기본 키 이외의 다른 열 또는 필드에 대한 인덱스입니다.
- Composite index
- ==Composite index(복합 인덱스)는 데이터베이스에서 두 개 이상의 열(칼럼)로 구성된 인덱스입니다. 단일 열 인덱스가 하나의 열에 대한 인덱스를 생성하는 것과는 달리, 복합 인덱스는 여러 열의 조합에 대한 인덱스를 생성합니다. 다중열검색, 인덱스 결합 등으로 동시 및 복합 검색으로 검색효율 향상시킵니다. 하지만 잘못만들면 인덱스 효율이 떨어지고 크기가 커지는 문제가 있습니다. 복합 인덱스는 다음과 같은 특징을 가지고 있습니다:
- 다중 열 검색: 복합 인덱스를 사용하면 인덱스를 구성하는 여러 열을 조합하여 검색 조건에 맞는 데이터를 빠르게 찾을 수 있습니다. 예를 들어, 복합 인덱스를 (last_name, first_name)으로 구성하면 성(last_name)과 이름(first_name)으로 동시에 검색할 수 있습니다.
- 인덱스 결합: 복합 인덱스는 여러 열의 값에 대한 인덱스를 결합하여 하나의 인덱스로 생성합니다. 이를 통해 데이터베이스 시스템은 복합 인덱스를 효율적으로 관리하고, 복합 인덱스에 대한 검색 및 정렬 작업을 최적화할 수 있습니다.
- 인덱스 선택성: 복합 인덱스는 인덱스를 구성하는 각 열의 선택성(selectivity)에 따라 검색 효율이 달라질 수 있습니다. 선택성이 높은 열일수록 복합 인덱스의 효과가 크지만, 선택성이 낮은 열이 포함되면 인덱스의 효율이 떨어질 수 있습니다.
- 인덱스 크기: 복합 인덱스는 단일 열 인덱스보다 더 많은 데이터를 저장하므로 인덱스 크기가 크게 증가할 수 있습니다. 따라서 필요한 열만 포함하여 최소한의 복합 인덱스를 생성하는 것이 좋습니다.