인덱스 정리

2022. 12. 21. 14:07db

인덱스란? 

 

데이터베이스의 테이블에 대한 검색 속도를 향상시키는 자료구조

컬럼의 데이터를 정렬한 후 별도의 공간에 데이터의 물리적 주소와 함께 저장하는 것을 의미

컬럼의 값과 물리적 주소를 (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

'db' 카테고리의 다른 글

데이터 무결성  (0) 2023.01.10
정규화 정리  (0) 2023.01.10
트랜잭션 REQUIRES_NEW 옵션  (0) 2022.12.18
CQRS  (0) 2022.12.16
트랜잭션  (2) 2022.12.14