[230222] DB의 인덱스 사용

뜨개발자·2023년 2월 22일
0

TIL

목록 보기
43/75

DB에서 인덱스를 잘 사용하면 어떤 장점이 있을까요?

DB의 인덱스란, 조회의 성능을 높이기 위해 사용하는 장치이다.
조회가 일어날 수 있는 컬럼을 따와 정렬한 상태로 보관하고 있는다.

원래는 백만 개의 데이터가 보관된 DB에서 특정 필드가 100인 데이터를 찾아낸다고 할 때, 백만 개의 데이터를 모두 하나하나 확인해야 한다.
하지만 해당 필드가 정렬이 되어있는 상태라면 검색의 절대적인 횟수가 줄어든다.
순차적으로 검색을 해나가든, 이진 탐색을 사용하든 처음 100을 찾고나면 그 앞뒤로 확인하여 값이 100인 데이터 리스트를 뽑을 수 있다.

단점으로는, 모든 필드에 대해 인덱스를 만들면 이에 따른 저장공간의 낭비가 심해질 수 있다.
또한 데이터 삽입이나 삭제, 기존 데이터에 변화가 빈번한 경우에는 그에 맞추어 새로 정렬하는 작업이 필요하기 때문에 잘못 사용하는 경우에는 오히려 효율이 떨어질 수도 있다.

profile
뜨개질하는 개발자

0개의 댓글

관련 채용 정보