innodb buffer pool flush机制
参考印风的博客:
FLUSH操作的类型,总的来说,有三种刷新类型
BUF_FLUSH_LRU:表示从Buffer Pool的LRU上扫描并刷新
BUF_FLUSH_LIST:表示从Buffer Pool的FLUSH LIST上扫描并刷新
BUF_FLUSH_SINGLE_PAGE:从LRU上只刷新一个Page
前两种属于BATCH FLUSH, 最后一种属于SINGLE FLUSH
BUF_FLUSH_SINGLE_PAGE在几种情况下使用到:
1.buf_flush_or_remove_page
2.buf_flush_single_page_from_LRU,这在FREE LIST不够用时,IO-bound场景下,可能频繁调用到(buf_LRU_get_free_block)
3.buf_flush_page_try