[sql] 다중 컬럼 인덱스 사용 방법
데이터베이스에서 다중 컬럼 인덱스를 사용하여 쿼리 성능을 향상시킬 수 있습니다. 다중 컬럼 인덱스는 두 개 이상의 컬럼들을 하나의 인덱스로 묶어 검색 속도를 높이는 용도로 사용됩니다.
다중 컬럼 인덱스 작성하기
다중 컬럼 인덱스는 CREATE INDEX 문을 사용하여 작성할 수 있습니다. 다음은 다중 컬럼 인덱스를 작성하는 예제입니다.
CREATE INDEX idx_name_age ON members (name, age);
위의 예제에서 idx_name_age
는 인덱스의 이름이며, members
테이블의 name
컬럼과 age
컬럼을 묶어 인덱스화합니다.
다중 컬럼 인덱스 사용하기
다중 컬럼 인덱스를 사용하여 쿼리를 작성할 때는 WHERE 절에서 인덱스에 포함된 모든 컬럼들을 사용하여 검색 조건을 설정해야 합니다. 그렇지 않으면 인덱스를 사용할 수 없어 성능 향상을 기대하기 어렵습니다.
다음은 다중 컬럼 인덱스를 사용하여 쿼리를 작성하는 예제입니다.
SELECT * FROM members WHERE name = 'John' AND age > 30;
위의 예제에서는 인덱스 idx_name_age
를 사용하여 name
이 ‘John’이고 age
가 30보다 큰 회원들을 검색합니다.
다중 컬럼 인덱스 주의사항
- 다중 컬럼 인덱스는 인덱스를 작성하는 컬럼들의 순서에 따라 검색 성능에 영향을 줄 수 있습니다. 쿼리에서 자주 사용되는 컬럼을 앞에 위치시키는 것이 좋습니다.
- 불필요한 컬럼들을 포함하지 않도록 주의해야 합니다. 인덱스의 크기를 작게 유지하는 것이 중요합니다.
- 다중 컬럼 인덱스는 특정 조건을 만족하는 행의 개수가 많을 때 효과적입니다. 행의 개수가 적을 경우 인덱스를 사용하는 것보다 테이블 스캔이 더 효율적일 수 있습니다.
결론
다중 컬럼 인덱스는 데이터베이스의 쿼리 성능을 향상시키는 중요한 도구입니다. 다중 컬럼 인덱스를 올바르게 작성하고 적절하게 사용함으로써 데이터 검색 속도를 높일 수 있습니다.
참고 문서: