8.1 디스크 읽기 방식

8.1.1 하드 디스크 드라이브(HDD)와 솔리드 스테이트 드라이브(SSD)

HDD - 기계식

SSD - 전자식, 전원이 공급되지 않아도 데이터 삭제 X, 랜덤 I/O가 빠름

DBMS용 서버는 대부분 SSD 사용

8.1.2 랜덤 I/O와 순차 I/O

랜덤 I/O가 작업 부하가 훨씬 더 큼

MySQL 서버에는 그룹 커밋이나 바이너리 로그 버퍼, InnoDB 로그 버퍼 등의 기능이 내장

랜덤 I/O를 줄인다 - 쿼리를 처리하는 데 꼭 필요한 데이터만 읽도록 쿼리를 개선

8.2 인덱스란?

DBMS의 인덱스는 항상 정렬, 데이터 파일은 정렬 X

INSERT, UPDATE, DELETE는 느림(인덱스를 정렬해야 해서)

SELECT는 빠름(인덱스로 찾을 수 있어서)

역할별로 구분 - 프라이머리 키(Primary Key), 보조 키(Secondary Key)

저장 알고리즘별로 구분 - B-Tree, Hash (대표적으로)

데이터 중복 허용 여부로 구분 - Unique, Non-Unique

8.3 B-Tree 인덱스

Untitled

Balaced-Tree

대부분 사용