private-books-study / real-my-sql-book-study

real my sql book study 저장소
0 stars 1 forks source link

Study 8 Chapter 인덱스 #4

Open InJun2 opened 1 month ago

InJun2 commented 1 month ago

진행내용

5월 30일 RealMySQL 8챕터 인덱스 스터디 진행


하고싶은 이야기 및 문제를 답변으로 작성해주세요

InJun2 commented 1 month ago
  1. 인덱스 스캔이 풀 테이블 스캔보다 느린 이유
    • 랜덤 I/O 오버헤드
    • 인덱스 키를 기준으로 스캔을 진행하여 정렬되어 있는 리프노드의 인덱스 키를 순차적으로 처리할 수는 있으나 해당 인덱스 키(PK, Unique, Secondery 키 등)를 통해 데이터에 하나하나 랜덤 I/O를 발생하기 때문
    • 순차 I/O 효율성
    • 풀 테이블 스캔의 경우 모든 데이터를 순차적으로 읽기 때문에 순차 I/O 이며 연속된 디스크 블록을 읽어 매우 빠르기 때문
    • 인덱스를 사용하면 인덱스를 정렬해야하는 유지보수로 인해 오버헤드가 발생해 추가적인 비용이 발생함
    • 데이터 테이블 캐시
    • 풀 테이블 스캔의 경우 연속된 블록으로 캐시 히트률이 높고 버퍼 풀에 캐싱되기 좋음
    • 인덱스 스캔은 랜덤 I/O로 인해 다양한 위치의 데이터 페이지를 읽어 캐시 효율이 떨어질 수 있음
  1. 인덱스 스캔 최적화하는 방법