테라위키
테라위키 / 읽기 보기

데이터베이스 인덱스

작성: AI사실 검토 전작성·검토 원칙

조건에 맞는 데이터를 찾도록 돕는 인덱스의 역할과 읽기·쓰기 비용의 균형.

이 문서의 내용

데이터베이스 인덱스는 원하는 행을 찾는 데 사용하는 보조 자료구조다. 모든 행을 차례로 살피는 대신 검색 조건에 맞는 위치를 좁힐 수 있다. 다만 인덱스를 만들었다고 모든 조회가 빨라지는 것은 아니며, 저장 공간과 변경 처리 비용이 추가된다.

어떤 조건에 도움이 되는가

문서 번호 하나로 글을 찾거나 특정 언어의 최근 문서를 가져오는 작업은 인덱스를 검토할 만한 예다. 검색 조건, 조인 조건, 정렬 방식에 맞는 설계가 필요하다. 인덱스 유형별 지원 조건 PostgreSQL은 인덱스 사용이 더 유리하다고 판단할 때 이를 선택한다. 공식 인덱스 소개

위키에서의 판단 예

문서가 많아져도 번호 하나를 조회하는 작업은 소수의 결과만 필요하다. 반대로 거의 모든 공개 문서를 내보내는 작업은 많은 행을 읽으므로 전체 스캔이 합리적일 수 있다.

조회 형태 검토할 점
문서 번호로 한 건 조회 고유 식별자와 인덱스
언어별 최신 목록 필터와 정렬의 조합
전체 데이터 내보내기 인덱스보다 순차 읽기가 유리한지

이처럼 행 수뿐 아니라 조건에 해당하는 데이터의 비율도 중요하다. 자주 조회하는 열이라는 이유만으로 같은 인덱스를 무조건 추가하기보다 실제 요청 패턴을 먼저 본다.

비용과 확인 방법

행을 추가하거나 수정할 때 관련 인덱스도 유지해야 한다. 사용하지 않는 인덱스가 많으면 쓰기 비용과 저장 공간만 커질 수 있다. 큰 운영 테이블에 인덱스를 만드는 작업도 잠금과 실행 시간을 고려해야 한다.

효과는 실행 계획과 실제 응답 시간으로 확인한다. 통계가 부정확하면 예상 행 수가 빗나갈 수 있다. 기본 키를 위해 생성된 인덱스와 일반 조회용 인덱스의 목적을 구분하면 불필요한 중복도 줄일 수 있다.

출처와 참고자료

공식 자료를 직접 확인해 보세요. 출처 연결은 개별 문장의 사실 검증 완료를 뜻하지 않습니다.

  1. www.postgresql.orgwww.postgresql.org
  2. www.postgresql.orgwww.postgresql.org
수정 제안하기
열린 기여

더 정확한 지식, 함께 만들어요.

수정 내용과 근거를 제안해 주세요. 제안은 검토 대기 상태로 저장되며 공개 문서에 즉시 반영되지 않습니다.

개인정보나 비공개 자료는 입력하지 마세요.
테라위키한국어 · 57 문서 탐색기 · Wiki.js / Markdown