[MySQL学习] 一个压缩Page从磁盘读入buffer pool的过程

  1. 云栖社区>
  2. 博客>
  3. 正文

[MySQL学习] 一个压缩Page从磁盘读入buffer pool的过程

zhaiwx_yinfeng 2016-05-10 14:04:32 浏览2006
展开阅读全文
以下是边看代码边记录的,从磁盘读取一个压缩Page到buffer pool的的全过程,以函数buf_page_get_gen作为入口
buf_page_get_gen
1.根据space和offset来计算请求的page是否已经读到了buffer pool中

fold = buf_page_address_fold(space, offset);
block = (buf_block_t*) buf_page_hash_get_low(
                          buf_pool, space, offset, fold);

判断:如果这个block所对应表正在被drop掉(使用lazy drop table),则调用buf_LRU_free_block((buf_page_t*)block, TRUE, TRUE)

网友评论

登录后评论
0/500
评论
zhaiwx_yinfeng
+ 关注