인덱스란
오늘도 데이터 베이스 :)
인덱스란 무엇인가?
전체 데이터베이스를 검색하기엔 시간이 많이 걸리기 때문에 만들어 두는 값이다.
칼럼의 값과 해당 레코드가 저장된 주소를 키값쌍 처럼 저장한다.
인덱스를 관리하기 위해서 저장 방식에는 다양한 방식이 존재한다.
- B+- Tree 인덱스 방식
- Hash 인덱스 방식
- Cluster 방식
인덱스의 장점과 단점은?
DBMS의 인덱스는 항상 정렬된 상태를 유지하기 때문에 검색은 빠르다는 장점이 있다.
하지만 새로운 값을 추가/삭제/수정하는 경우는 쿼리문의 실행 속도가 느려진다.
(ex.INSERT의 경우 추가할 때마다 인덱스에도 데이터를 추가해줘야 함)
데이터의 읽기 속도는 빠르지만 데이터의 저장 성능은 감소한다는 Trade Off가 있다.
따라서 성능을 고려하여 인덱스를 만들어야할 필요가 있다.