같은 MySQL 쿼리는 왜 처음만 느렸을까: InnoDB 버퍼 풀과 스토리지 읽기
닉네임 로직 리팩터링의 추가 쿼리 비용을 측정하다 발견한 첫 실행 지연을 통해, 버퍼 풀 hit가 줄이는 비용과 캐시로도 사라지지 않는 작업을 구분한다.
4개의 글이 있습니다.
닉네임 로직 리팩터링의 추가 쿼리 비용을 측정하다 발견한 첫 실행 지연을 통해, 버퍼 풀 hit가 줄이는 비용과 캐시로도 사라지지 않는 작업을 구분한다.
일반 SELECT와 UPDATE 사이의 경쟁을 MVCC 문제와 구분하고, 변경 조건을 UPDATE에 넣어 원자적으로 판정한 이유를 설명한다.
sys.innodb_lock_waits, INNODB_TRX, 실행 계획을 연결해 waiter·blocker·잠긴 인덱스와 트랜잭션 시간을 찾는 순서를 제시한다.
한 트랜잭션이 행을 수정하는 동안 일반 SELECT와 locking read가 어떻게 다르게 동작하는지 InnoDB의 잠금과 MVCC로 설명한다.