: 각 인덱스의 특성과 차이는 상당히 중요, 물리 수준의 모델링을 할 때도 중요한 요소가 됨
: 전문 검색이나 위치 기반 검색 기능도 모두 InnoDB 스토리지 엔진에서 사용할 수 있게 개선, 물론 아무리 MySQL 서버의 옵티마이저가 발전하고 성능이 개선되었어도 관리자의
역할은 매우 중요, 쿼리 튜닝의 기본인 요소가 되므로 잘 알아두는 것이 좋다.
: 데이터베이스 성능 튜닝은 어떻게 디스크 I/O를 줄이느냐가 관건일 떄가 상당히 많기도 함
1. 하드 디스크 드라이브와 솔리드 스테이트 드라이브
: 컴퓨터에서 CPU나 메모리 같은 주요 장치는 모두 전자식 장치지만 하드 디스크는 기계씩 장치, 이로 인해 데이터베이스 서버에서는 항상 디스크 장치가 병목이 됨
⇒ 이를 대체하기 위해 전자식 저장 매체인 SSD가 많이 출시되고 있음
: 요즘 DBMS용으로 사용할 서버에서는 대부분 SSD를 채택, 데이터 베이스 서버에서 순차 I/O 작업은 그다지 비중이 크지 않고 랜덤 I/O를 통해 작은 데이터를 읽고 쓰는 작업이
대부분이므로 SSD의 장점은 DBMS 스토리지에 최적
2. 랜덤 I/O와 순차 I/O
: 랜덤 입출력은 하드 디스크 드라이브의 플래터를 돌려서 읽어야할 데이터가 저장된 위치로 디스크 헤더를 이동시킨 후 읽는 것
⇒ 이는 읽어야할 데이터가 물리적으로 불연석족으로 존재하기 때문
: 일반적으로 쿼리를 튜닝하는 것은 랜덤 I/O 자체를 줄여주는 것이 목적, 이는 쿼리를 처리할 때, 필요한 데이터만 읽도록 하는 것