read-ahead 란?
하나의 extent(64개 pages group)을 모두 buffer pool에 prefetch하는 작업. (asynchronous request임)
이들 페이지도 곧 읽혀질거라는 가정하에 모두 버퍼에 올리는 것
알고리즘
linear read-ahead technique: 버퍼풀 안에 순차적으로 읽혀진 페이지 개수로 판단
만약 하나의 extent내에서 순차적으로 읽혀진 페이지 개수가 innodb_read_ahead_threshold 이상이면 다음 extent전체 페이지를 read-ahead
random read-ahead technique: 버퍼풀 안에 존재하는 페이지 개수로 판단(순차적인지 여부와 무관함)
만약 한 extent내의 13개의 연속된 페이지가 버퍼풀에 존재한다면, 해당 extent의 나머지 pages들을 read-ahead한다
'MySQL > InnoDB storage engine' 카테고리의 다른 글
Insert intention lock (0) | 2021.09.06 |
---|