데이터베이스 인덱싱 이해하기

yujin·2023년 11월 16일
0

TIL

목록 보기
12/48
post-thumbnail

데이터베이스 인덱싱 이해하기


1. 데이터베이스 인덱싱이란?

데이터베이스 인덱싱은 데이터를 빠르게 찾을 수 있도록 돕는 데이터베이스 구조입니다. 책의 색인과 유사하게, 특정 데이터를 찾기 위해 전체 데이터를 검색하지 않고 인덱스를 통해 바로 접근할 수 있습니다.

2. 데이터베이스 인덱싱의 특징

  • 속도 향상
    인덱싱은 데이터 검색 속도를 크게 향상시킵니다.
    인덱스를 사용하면 전체 데이터를 스캔하지 않고도 원하는 데이터를 찾을 수 있습니다.
  • 공간 사용
    인덱스는 추가적인 디스크 공간을 사용합니다.
    따라서 공간과 성능 간의 트레이드오프를 고려해야 합니다.

3. 데이터베이스 인덱싱의 활용 사례

데이터베이스 인덱싱은 주로 대량의 데이터 중에서 특정 데이터를 빠르게 찾아야 하는 경우에 사용된다. 예를 들어, 사용자 ID, 이메일, 전화번호 등을 통해 사용자 정보를 빠르게 검색할 때 인덱싱을 활용할 수 있다.

4. 데이터베이스 인덱싱의 장점과 단점

4-1. 장점

  • 데이터 검색 속도 향상
    인덱싱을 이용하면 데이터 검색 속도를 크게 향상시킬 수 있다.
  • 정렬된 데이터 접근
    인덱스는 일반적으로 정렬된 형태로 저장되므로, 정렬된 데이터를 빠르게 가져오는 데 유용합니다.

4-2. 단점

  • 공간 사용
    인덱스를 만드는 데는 추가적인 디스크 공간이 필요합니다.
  • 데이터 삽입/수정/삭제 오버헤드
    데이터가 삽입, 수정, 삭제될 때마다 인덱스도 업데이트해야 하므로, 이런 작업의 성능에 영향을 줄 수 있습니다.

5. 데이터베이스 인덱싱의 최적화 방법

데이터베이스 인덱싱을 최적화하기 위해서는 몇 가지 고려 사항이 있다.

  • 적절한 인덱스 선택
    어떤 필드에 인덱스를 생성할지는 매우 중요한 결정이다.
    자주 검색되는 필드, 고유한 값이 많은 필드 등이 인덱스 생성에 적합하다.
  • 인덱스 크기 최소화
    인덱스의 크기가 작을수록 디스크 I/O가 줄어들고, 검색 속도가 빨라진다.
    따라서 가능한 한 인덱스의 크기를 줄이는 것이 좋다.
  • 인덱스 정리
    데이터베이스의 데이터가 변경되면서 인덱스가 파편화될 수 있다.
    이를 정리하여 인덱스의 성능을 유지할 수 있다.

6. etc

오늘 특강에서 배운 내용을 찾아보며 정리했는데, 찾아보니 이미 다 들었던 내용이라 적다면 적고 길다면 긴 이 개념을 어떻게 그 한정된 시간 내에 모두 말씀하셨는지 신기하다.
일단은 깊게 들어가면 이해 못할 것 같아서 말씀하신대로 키워드만 기억해두기로 했다.

profile
고통 받는 코딩일기

0개의 댓글