추가적인 쓰기 작업과 저장 공간을 활용하여 데이터베이스 테이블의 검색 속도를 향상시키기 위한 자료구조
DBMS는 index
를 항상 최신 정렬된 상태로 유지해야 빠른 값을 찾을 수 있다.
따라서, 인덱스가 적용된 컬럼에 INSERT
, UPDATE
, DELETE
가 수행된다면 각각 다음과 같은 연산을 추가적으로 해주어야 한다.
INSERT
: 새로운 데이터에 인덱스를 추가DELETE
: 삭제하는 데이터의 인덱스를 사용하지 않는다는 작업을 진행UPDATE
: 기존의 인덱스를 사용하지 않음 처리하고, 갱신된 데이터에 대해 인덱스를 추가
장점
단점
DELETE와 UPDATE 시, 기존 인덱스는 사용하지 않음으로 처리할 때 실제 데이터보다 Index가 더욱 많아져 성능 저하가 발생될 수 있다.
(key, Value)로 데이터를 저장
빠른 데이터 검색 유용
시간복잡도 : O(1)
등호 연산
에만 특화되어 있어 부등호 연산이 자주 사용되는 데이터베이스 검색에는 적합하지 않다.
ex. (데이터=컬럼의 값, 데이터의 위치)
자식 노드가 2개 이상인 B-Tree를 개선시킨 자료구조
시간복잡도 : O(log2n)
B Tree와 다른 특성