인덱스 정리
2022. 12. 21. 14:07ㆍdb
인덱스란?
데이터베이스의 테이블에 대한 검색 속도를 향상시키는 자료구조
컬럼의 데이터를 정렬한 후 별도의 공간에 데이터의 물리적 주소와 함께 저장하는 것을 의미
컬럼의 값과 물리적 주소를 (key, value)의 한 쌍으로 저장
인덱스의 장단점
장점 : 테이블의 검색하는 속도가 향상된다.
단점 :인덱스를 관리하기 위해 작업공간이 필요하고, 삽입, 삭제, 수정 등이 자주 발생하면 검색 성능이 저하될 수 있다.
인덱스가 적용된 컬럼에 삽입, 삭제, 수정이 자주 발생하면 인덱스를 수정해줘야 되는데 인덱스는 제거되는 것이 아니라 사용하지 않음으로 남겨두기 때문에 인덱스가 과도하게 커질 수 있다.
인덱스를 활용하면 좋은 경우
1. 규모가 큰 테이블
2. 삽입, 수정, 삭제 작업이 자주 발생하지 않는 컬럼
3. where, order by, join 등이 자주 사용되는 컬럼
4. 데이터의 중복도가 낮은 컬럼
인덱스 설정시 사용하는 자료구조
b - tree
출처 : https://velog.io/@nias0327/%EC%9D%B8%EB%8D%B1%EC%8A%A4index%EC%9D%98-%EC%A0%95%EC%9D%98%EC%99%80-%EC%9E%A5%EB%8B%A8%EC%A0%90-%EC%9E%91%EB%8F%99%EC%9B%90%EB%A6%AC