开发者社区> 问答> 正文

innodb有延迟块清除吗

innodb有延迟块清除吗
begin
DML
....
sleep(N) -- 等待对应的脏数据和redo都刷新到磁盘,Q1: 此时脏数据行的trx_id是否被更新?
commit -- Q2:需不需要从磁盘把脏数据重新读取到buffer pool以更新其trx_id?
or
rollback -- Q3:需不需要从磁盘把脏数据重新读取到buffer pool以更新其trx_id和bit mask?

个人猜测:
脏数据被标记了新的trx_id刷新到磁盘,commit时无需二次读取,只有在rollback时才这样操作;比较rollback应该是比较少发生的,这样可以最大化处理效率,同时减少commit的延迟等待时间

展开
收起
时隐时现 2017-01-19 09:18:02 2468 0
0 条回答
写回答
取消 提交回答
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
用户态高速块缓存方案 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载