인덱스 vs 역 인덱스

caynny·2025년 1월 22일

생소한개념

목록 보기
3/5

인덱스 방식

컬럼에 대한 검색 최적화 구조

인덱스 방식은 데이터베이스에서 사용하는 방식이다.
주어진 데이터 항목에 해당하는 위치를 기록하는 것이다.
ex) 책에서 단어를 나열하고, 각 단어가 등장한 페이지 번호를 기록한 것이 인덱스 방식이다.

  • 역 인덱스와 다르게, "위치 정보" 까지 저장하여 세밀하게 추적하는 방식이다.

문서의 내용이 길어질수록, 검색해야 할 데이터가 매우 많아지기 때문에 인덱스 방식은 비효율적일 수 있다.


역 인덱스 방식

텍스트 검색 최적화 구조

문서 구조를 반대로 뒤집어서 문서들에 단어가 어디서 나오는지 빠르게 찾을 수 있도록 하는 방식이다.


예시

apple 와 banana라는 단어가 포함된 문서들을 검색한다고 하자

문서1: "apple orange banana"
문서2: "apple grape"
문서3: "banana grape apple"


1. 인덱스 방식을 활용한 검색

인덱스 방식은 컬럼 검색 최적화 방식 이기 때문에 인덱스 방식을 통해 apple와 banana가 모두 포함된 문서를 검색하고자 한다면,
모든 문서 들을 돌아다니면서 해당 조건을 만족하는 문서를 반환해야 할 것이다.
무척 비효율적이다.

2. 역 인덱스 방식을 활용한 검색

역인덱스 방식은 텍스트 검색 최적화 방식

역 인덱스를 통해 저장된 테이블을 보면

단어문서ID
apple1,2,3
banana1,3
orange1
grape2,3

이렇게 저장이 되어 있을 것이다.
apple, banana를 바로 검색하여 공통으로 들어있는 문서ID 1,3을 찾아낼 수 있다.


결론

컬럼 기반 검색은 인덱스 방식, 텍스트 기반 검색은 역 인덱스 방식이 효율적이다.

profile
공부해볼게용

0개의 댓글