Search
1️⃣

디스크 읽기 방식

각 인덱스의 특성과 차이는 상당히 중요하다.
물리 수준의 모델링을 할 때, 역시 중요한 요소가 된다.
전문 검색이나 위치 기반 검색 기능도 모두 InnoDB 스토리지 엔진에서 사용할 수 있게 개선되었다.
물론 아무리 MySQL 서버의 옵티마이저가 발전하고 성능이 개선되었어도 관리자의 역할은 매우 중요하며 쿼리 튜닝의 기본인 요소가 되므로 잘 알아두는 것이 좋다.
데이터베이스 성능 튜닝은 어떻게 디스크 I/O를 줄이느냐가 관건일 떄가 상당히 많기도 하다.

1. 하드 디스크 드라이브와 솔리드 스테이트 드라이브

컴퓨터에서 CPU나 메모리 같은 주요 장치는 모두 전자식 장치지만 하드 디스크는 기계식 장치다.
이로 인해 데이터베이스 서버에서는 항상 디스크 장치가 병목이 됨
⇒ 이를 대체하기 위해 전자식 저장 매체인 SSD가 많이 출시되고 있음
요즘 DBMS용으로 사용할 서버에서는 대부분 SSD를 채택한다. 데이터베이스 서버에서 순차 I/O 작업은 그다지 비중이 크지 않고 랜덤 I/O를 통해 작은 데이터를 읽고 쓰는 작업이 대부분이므로 SSD의 장점은 DBMS 스토리지에 최적이다.

2. 랜덤 I/O와 순차 I/O

랜덤 입출력은 하드 디스크 드라이브의 플래터를 돌려서 읽어야할 데이터가 저장된 위치로 디스크 헤더를 이동시킨 후 읽는 것이다.
⇒ 이는 읽어야할 데이터가 물리적으로 불연속적으로 존재하기 때문
일반적으로 쿼리를 튜닝하는 것은 랜덤 I/O 자체를 줄여주는 것이 목적, 이는 쿼리를 처리할 때, 필요한 데이터만 읽도록 하는 것이다