码迷,mamicode.com
首页 > 数据库 > 详细

InnoDB存储引擎

时间:2019-10-02 19:10:39      阅读:129      评论:0      收藏:0      [点我收藏+]

标签:通过   style   面向   时间   undo   str   oltp   架构   在线   

1、InnoDB存储引擎支持事务行锁以及外键,主要面向在线事务处理(OLTP)的应用,是MySQL5.5.8之后默认的存储引擎

 

2、InnoDB的体系架构主要包括两部分:

(1)后台线程:负责刷新内存池中的数据,以及将已修改的数据文件刷新到磁盘文件。

包括Master Thread、IO Thread、Purge Thread、Page Cleaner Thread等。

(2)内存池

包括缓冲池、LRU List、Free List、Flush List、重做日志缓冲(redo log buffer)、额外的内存池等。

 

3、InnoDB是基于磁盘存储,最小管理单位是读操作时首先将从磁盘读到的页存放在缓冲池中(若页已存在缓冲池中,则直接读取缓冲池),写操作时首先修改在缓冲池中的页,然后通过Checkpoint的机制刷新回磁盘。

 

4、缓冲池中页的类型有:索引页数据页、undo页、插入缓充、自适应哈希索引、InnoDB存储的锁信息、数据字典信息等。

 

5、数据库中的缓冲池是通过LRU算法进行管理的,InnoDB对LRU算法做了一些改造,在缓存列表中加入了midpoint位置,每次读取的新页先放到midpoint位置,过一定时间再插入表头,这样做可防止热点数据被某些准备工作刷出。

 

6、InnoDB关键特性:

(1)插入缓冲(Insert Buffer)

(2)两次写(Double Write)

(3)自适应哈希索引(Adaptive Hash Index)

(4)异步IO(Async IO)

(5)刷新邻接页(Flush Neighbor Page)

InnoDB存储引擎

标签:通过   style   面向   时间   undo   str   oltp   架构   在线   

原文地址:https://www.cnblogs.com/xy80hou/p/11617814.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!