DB 인덱스란?
- 정의: 데이터베이스 테이블에서 데이터를 더 빠르게 찾을 수 있도록 설계된 자료구조.
- 역할: 도서관의 책 제목, 저자명, 키워드별 색인처럼 테이블에서 특정 데이터를 빠르게 찾는 역할.
- 형태: 일반적으로 B-트리, B+트리, 해시 테이블 등의 자료구조를 사용.
인덱스의 작동 원리
- 테이블의 특정 열을 기준으로 별도의 정렬된 자료구조를 생성합니다.
- 검색 시, 테이블의 모든 데이터를 읽는 Full Table Scan 대신, 인덱스를 먼저 검색해 원하는 데이터를 포함하는 행의 위치를 빠르게 찾습니다.
인덱스의 장점
- 검색 속도 향상: 데이터를 빠르게 찾음.
- 정렬 성능 개선: 정렬 작업이 더 효율적.
- 조인(Join) 성능 개선: 관련 데이터를 빠르게 매칭.
인덱스의 단점
- 쓰기 성능 저하:
- 데이터를 삽입, 수정, 삭제할 때 인덱스도 갱신해야 하므로 성능이 느려질 수 있음.
- 공간 사용 증가:
- 인덱스를 저장하기 위해 추가적인 디스크 공간 필요.
- 잘못된 인덱스 사용:
- 적절하지 않은 열에 인덱스를 설정하면 오히려 성능이 저하될 수 있음.