디벨롭
로그인
디벨롭
로그인
인덱스 생성시 어떤것을 고려하고 설계하세요?
박상준
·
2024년 4월 7일
팔로우
0
질문
0
면접지식
목록 보기
26/32
답변
인덱스 컬럼의 선정 기준
WHERE
절이나
JOIN
조건에 자주 사용되는 컬럼을 인덱스로 생성하는 경우 해당 쿼리의 속도를 높을 수 있습니다.
카디널리티가 높아야합니다.
컬럼의 값이 다양하는 의미입니다.
단순하게
남
여
뿐이라면 카디널리티가 낮아 인덱스의 효과가 떨어집니다.
하지만, 주민등록번호 같은 컬럼은 모든 행이 고유한 값을 가지기에 카디널리티가 높습니다.
이 경우 인덱스의 효과가 좋음
수정이 빈번하지 않아야 합니다
수정이 자주 발생하는 컬럼에 인덱스를 생성하면 인덱스의 유지 비용이 증가한다.
인덱스는 테이블과 별도로 저장되는 데이터 구조이다. 테이블의 데이터가 변경될 떄 마다 인덱스도 함께 업데이트되어야함
INSERT : 새로운 데이터가 추가되는 경우, 인덱스에서도 해당 데이터의 인덱스 엔트리를 추가해야함
UPDATE : 데이터가 수정되는 경우, 기존 인덱스 엔트리를
사용하지 않음
처리하고, 수정된 데이터에 대한 새로운 인덱스 엔트리를 다시 추가해야한다.
DELETE : 데이터가 삭제 → 기존 인덱스 엔트리 링크를 끊고
사용하지 않음
처리를 해야함.
복합 인덱스 고려
박상준
이전 블로그 : https://oth3410.tistory.com/
팔로우
이전 포스트
서비스가 발전하여 DB에 데이터가 점진적으로 쌓여갑니다. 몇 억건 까지 쌓인다고 가정할 때 디비 아키텍처를 어떤식으로 구성할 것인 가요?
다음 포스트
면접질문 까먹기 전에
0개의 댓글
댓글 작성