摘要: # #先简单解释下什么是双写缓冲。InnoDB使用了一种叫做doublewrite的特殊文件flush技术,在把pages写到date files之前,InnoDB先把它们写到一个叫doublewrite buffer的连续区域内,在写doublewrite buffer完成后,InnoDB才会把... 阅读全文
posted @ 2015-07-14 10:19 jockchou 阅读(2065) 评论(0) 推荐(0) 编辑
摘要: 在InnoDB存储引擎的架构中,有多个内存块,这些内存块组成一个内存池。InnoDB存储引擎体系架构如下图所示:![innodb构架](http://jockchou.com/img/innodb-1.png)# 后台线程 #后台线程的主要作用是负责刷新内存池中的数据,保证缓冲池中的内存缓存的是最近... 阅读全文
posted @ 2015-07-14 10:17 jockchou 阅读(242) 评论(0) 推荐(0) 编辑
摘要: 我们知道InnoDB采用Write Ahead Log策略来防止宕机数据丢失,即事务提交时,先写重做日志,再修改内存数据页,这样就产生了脏页。既然有重做日志保证数据持久性,查询时也可以直接从缓冲池页中取数据,那为什么还要刷新脏页到磁盘呢?如果重做日志可以无限增大,同时缓冲池足够大,能够缓存所有数据,... 阅读全文
posted @ 2015-07-14 10:15 jockchou 阅读(2084) 评论(0) 推荐(1) 编辑