인덱스 생성시 어떤것을 고려하고 설계하세요?

박상준·2024년 4월 7일
0

면접지식

목록 보기
26/32
  • 답변
    1. 인덱스 컬럼의 선정 기준
      • WHERE 절이나 JOIN 조건에 자주 사용되는 컬럼을 인덱스로 생성하는 경우 해당 쿼리의 속도를 높을 수 있습니다.
      • 카디널리티가 높아야합니다.
        • 컬럼의 값이 다양하는 의미입니다.
        • 단순하게 뿐이라면 카디널리티가 낮아 인덱스의 효과가 떨어집니다.
        • 하지만, 주민등록번호 같은 컬럼은 모든 행이 고유한 값을 가지기에 카디널리티가 높습니다.
          • 이 경우 인덱스의 효과가 좋음
      • 수정이 빈번하지 않아야 합니다
        • 수정이 자주 발생하는 컬럼에 인덱스를 생성하면 인덱스의 유지 비용이 증가한다.
          • 인덱스는 테이블과 별도로 저장되는 데이터 구조이다. 테이블의 데이터가 변경될 떄 마다 인덱스도 함께 업데이트되어야함
          • INSERT : 새로운 데이터가 추가되는 경우, 인덱스에서도 해당 데이터의 인덱스 엔트리를 추가해야함
          • UPDATE : 데이터가 수정되는 경우, 기존 인덱스 엔트리를 사용하지 않음 처리하고, 수정된 데이터에 대한 새로운 인덱스 엔트리를 다시 추가해야한다.
          • DELETE : 데이터가 삭제 → 기존 인덱스 엔트리 링크를 끊고 사용하지 않음 처리를 해야함.
    2. 복합 인덱스 고려
profile
이전 블로그 : https://oth3410.tistory.com/

0개의 댓글