책소개
MySQL 퍼포먼스에 산소탱크를 달아보자!
MySQL을 여러 분야에 사용하지만 쿼리를 정확하게 이해하고 작성하는 경우는 드물다. 데이터가 적을 때는 크게 문제가 되지 않았지만, 빅데이터가 이슈가 된 현재는 쿼리의 작은 변화로도 성능이 엄청나게 달라진다. 따라서 쿼리에 대한 깊이 있는 이해가 필요하다. 이 도서는 실무 사례를 바탕으로 MySQL의 특성과 쿼리 최적화 방법(쿼리 작성 방법)을 설명한다. 데이터베이스 초급에서 중급으로 올라가는 데 도움을 줄 것이다.
목차
1장. MySQL의 특징
__1.1 MySQL은 전체적으로 어떻게 생겼나요?
__1.2 MySQL에서 스토리지 엔진이란 무엇인가요?
__1.3 MySQL은 데이터를 어떻게 처리할까?
2장. 쿼리 프로파일링의 이해
3장. WHERE 조건 이해
__3.1 묵시적 형변환 함정에 빠지지 말자
__3.2 편리한 함수, 잘못 쓰면 성능에 독이 된다
__3.3 Like 검색을 아무 때나 써야 하나?
4장. SQL 레벨에서의 접근법
__4.1 데이터 흐름을 이해하자
__4.2 불필요한 조인을 피하자
__4.3 Semi-Join으로 인한 비효율을 제거하자
__4.4 Outer Join이 반드시 필요한지 파악하자
__4.5 서브쿼리를 적극 활용하자
__4.6 서브쿼리를 맹신하지 말자
__4.7 때로는 Temporary Table도 적극 활용하자
__4.8 트랜잭션의 Isolation Level에서 테이블 잠금이 발생할 수 있음을 기억하자
5장. 스키마 레벨에서의 접근법
__5.1 인덱스는 적재적소에 배치하자
__5.2 테이블 파티셔닝을 활용하여 대용량 데이터를 관리해보자
__5.3 트리거로 제약을 뛰어넘는 날개를 달아주자
6장. 스토리지 엔진 레벨에서의 접근법
__6.1 InnoDB만을 고집하지 말고, 때로는 스토리지 엔진을 바꿔보자
__6.2 InnoDB를 사용한다면, Barracuda 파일 포맷도 고려해보자