쓰레드 기반
버퍼로부터 디스크까지 기록하는 작업
로그를 디스크로 기록
MySQL 엔터프라이즈 (기업)
MySQL 커뮤니티 (개인)
InnoDB 테이블
에 저장innodb_table_locks
시스템 변수 활성화하면 볼 수 있다.innodb_deadlock_detect
시스템 변수를 off하면 데드락 감지 스레드 동작하지 않지만 속도 향상innodb_lock_wait_timeout
시스템 변수 설정하면 데드락 상황에서 타임아웃 건다.변경해야 할 인덱스 페이지가 버퍼 풀에 있으면 바로 업데이트를 수행하지만 디스크로부터 읽어와서 업데이트해야한다면 이를 즉시 실행하지 않고 임시 공간에 저장해두고 바로 사용자에게 결과를 반환하는 형태
로 성능 향상
. 이때 사용하는 임시 메모리 공간을 체인지 버퍼
라고 한다.
MySQL 서버에서 트랜잭션이 커밋돼도 데이터 파일은 즉시 디스크로 동기화되지 않는 반면, 리두 로그는 항상 디스크로 기록된다.
B-Tree를 타지 않고 바로 데이터에 접근
할 수 있는 기능하나만 존재
하기 때문에 B-Tree 인덱스의 고유 번호
가 포함Rows_examined가 높지만 Rows_sent가 상당히 적다면 쿼리 튜닝해볼 가치가 존재