데이터베이스 인덱스란
데이터베이스 테이블에 대한 검색 성능의 속도를 높여주는 '자료구조'입니다.
특정 컬럼에 인덱스를 사용할 수 있으며 별도의 메모리 공간에 데이터의 주소를 저장합니다.
인덱스가 생성되면 Where문 조건 등 으로 해당 컬럼을 넣었을 때 검색 속도가 상승하게 됩니다.
인덱스의 단점
인덱스는 기본적으로 정렬되어 있는 상태를 유지 시켜줘야 합니다. 이 것은 검색속도를 빠르게 해주지만 INSERT, UPDATE, DELETE를 통해서 데이터가 추가되거나 값이 바뀔 때 마다 인덱스 테이블을 재정렬 해줘야 합니다.
속도 또한 무작정 빠르기만 한 것은 아닙니다. 전체데이터의 10~15% 이상을 처리할때는 인덱스를 사용하지 않는 것이 더 빠릅니다. 공간또한 기존의 10%정도를 더 차지합니다.
이러한 특징 및 단점들 때문에 인덱스는 신중하게 사용해야 합니다.
효율적으로 인덱스를 쓰는 방법은 다음과 같습니다.
'CS' 카테고리의 다른 글
쓰레드 특징 (프로세스와 비교) (1) | 2024.01.12 |
---|---|
ORM, JPA, Spring Data JPA 란 (0) | 2022.06.09 |
REST API (0) | 2022.05.22 |
해시 맵(개별 체이닝, 오픈 어드레스) (0) | 2022.05.18 |
랜덤 값 충돌 (0) | 2022.05.18 |