MySQL 튜닝과 최적화

MySQL 튜닝은 쿼리와 스키마의 최적화를 통해 진행된다.

스키마 최적화는 한번 설계된 테이블을 사용하는 모든 쿼리에 영향을 주기 때문에 변경하기 힘들지만, 쿼리는 해당 쿼리만 수정하면 되므로 최적화하기 쉽다.

따라서 어플리케이션의 성능 향상을 위해서 쿼리를 최적화하는 방법을 우선적으로 검토해봐야 한다.

Explain이란 해당 쿼리문을 통해 DB가 실제 데이터를 찾아가는 일련의 과정을 보여주는 기능이다.


MySQL Explain 결과의 각 항목

  1. id

    select 아이디로 select를 구분하는 번호

  2. table

    참조하는 테이블

  3. select type

    select의 타입

  4. type

    조인 혹은 조회 타입

  5. possible_keys

    데이터를 조회할 때 DB에서 사용할 수 있는 인덱스 리스트

  6. key

    실제로 사용하는 인덱스

  7. key_len

    실제로 사용하는 인덱스의 길이

  8. ref

    key 안의 인덱스와 비교하는 컬럼(상수)

  9. rows

    쿼리 실행 시 조사하는 행 수립

  10. extra

    추가 정보