개발/MySQL

    MySQL Free Space Management

    MySQL Free Space Management

    MySQL의 Storage Engine은 Innodb이다. Innodb은 Transaction-Safe한 Storage Engine이며 자체적으로 메인메모리 안에 데이터 캐싱과 인덱싱을 위한 버퍼 풀을 가지고 있습니다. 이번 글에서는 데이터 캐싱과 관련해서 Cache Miss가 발생했을 때 MySQL이 이를 어떻게 처리하는지 공부한 것을 정리해보려고 합니다. 먼저 Innodb의 버퍼 풀을 살펴 보겠습니다. InnoDB의 Buffer pool의 구조는 위와 같습니다. 이러한 buffer pool을 다르게 말하면 LRU list라고 이야기합니다. 이는 page 교체 알고리즘을 LRU 방식을 사용하기 때문에 붙여진 이름이라고 생각합니다. Page Hit page들이 어느 영역에 속하는지에 따라 Page hit..