데이터베이스 index란?

박성현·2024년 12월 24일

Database

목록 보기
23/23

데이터베이스 인덱스란 무엇인가? 📚

📌 인덱스란?

데이터베이스에서 인덱스(Index)는 책의 목차와 같은 역할을 합니다.
특정 데이터를 더 빠르게 찾을 수 있도록 돕는 구조입니다.

예를 들어, 책에서 특정 단어를 찾으려면 페이지를 처음부터 끝까지 읽는 대신, 목차에서 해당 단어를 찾아 빠르게 이동할 수 있습니다.
데이터베이스에서도 비슷하게, 인덱스가 없다면 모든 데이터를 하나씩 확인해야 하지만, 인덱스를 사용하면 필요한 데이터만 빠르게 찾아갈 수 있습니다.


📌 인덱스의 구조

대부분의 데이터베이스는 B-Tree 또는 해시(Hash) 구조를 사용합니다.

  • B-Tree: 대부분의 범위 검색(예: WHERE age BETWEEN 20 AND 30)에 적합합니다.
  • Hash: 정확한 값 검색(예: WHERE id = 123)에 유리하지만 범위 검색에는 적합하지 않습니다.

📌 인덱스의 장단점

장점
✅ 검색 속도 향상
✅ 데이터 정렬 최적화

단점
❌ 저장 공간 증가
❌ 데이터 삽입/수정/삭제 시 성능 저하


📌 인덱스 설계 시 팁

  • 자주 사용하는 WHERE 절 또는 JOIN 조건에 포함된 컬럼에 인덱스를 추가
  • 너무 많은 인덱스를 생성하면 성능이 오히려 저하될 수 있으니, 필요한 곳에만 사용.

📌 인덱스 추가

CREATE INDEX idx_name ON users(name);

📌 인덱스가 있는 상태에서 검색

SELECT * FROM users WHERE name = 'John';
profile
개발기록장

0개의 댓글