programming-study
programming-study copied to clipboard
[db] Real MySQL
trafficstars
http://www.yes24.com/Product/Goods/6960931
MySQL 서버는 스레드 기반으로 작동
포그라운드 스레드(클라이언트 스레드), 백그라운드 스레드 존재
포그라운드 스레드
- 데이터를 버퍼나 캐시로 가져오고, 없으면 직접 디스크를 읽어 처리
- InnoDB는 버퍼나 캐시까지만 포그라운드/버퍼로부터 디스크 기록은 백그라운드
백그라운드 스레드
- 인서트 버퍼 병합
- 로그를 디스크로 기록
- 데이터 기록
- 데이터를 버퍼로 읽어드림
- 잠금&데드락 모니터링
InnoDB 스토리지 엔진 특성
- 프라이머리 키에 의한 클러스터링
- 잠금이 필요없는 일관된 읽기
- 외래 키 지원
- 자동 데드락 감지
- 자동화된 장애 복구
- 오라클 아키텍처 적용
MySQL 엔진의 잠금
- 글로벌 락
- 테이블 락
- 유저 락
- 네임 락
인덱스 / B-Tree 인덱스 사용에 영향을 미치는 요소
- 인덱스 키값의 크기
- B-Tree 깊이
- 선택도
- 읽어야 하는 레코드의 건수