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