SQL/Sqlite

SQLite 14. INDEX

컴닥 2022. 1. 1. 22:15
반응형

인덱스란?

데이터베이스의 성능, 효율을 높이기 위해,
자주 검색이 발생하는 컬럼이 있다면, 
그 컬럼과 ROWID만 다른 테이블로 뽑아낸 뒤,
(쉽게 찾을 수 있도록) 컬럼값 기준으로 정렬하여 저장한다.

('컬럼들'이라면 같은 방법으로 컬럼들을 처리하면 된다.)

검색은 정렬된 새 테이블에서 이루어지며,
검색하여 ROWID를 찾은 뒤,
원 테이블의 ROWID와 비교해서
원 데이터를 출력하면
효율적인 검색이 이뤄질 수 있다. 

이런 구구절절한 과정을 DBMS가 해주는 데
이 기능을 인덱스라고 한다. 

SQLite는 B-tree 방식의 정렬을 이용한다고 알려져 있다. 

 

인덱스 생성하기

이렇게 인덱스 걸어줄 테이블과 컬럼을 정하면 인덱스를 사용할 수 있다. 

CREATE INDEX "name_index" ON "players" (
	"name"	ASC
)

데이터베이스 구조에서 확인.

 

반응형