文档章节

MySQL InnoDB存储引擎

Huangchp
 Huangchp
发布于 2017/09/11 16:29
字数 474
阅读 20
收藏 0

InnoDB支持事务,其设计主要面小在线事务处理(OLTP online transaction processing),读取数据时不会产生锁,是MySQL 5.x 版本后的默认存储引擎,SELECT * FROM information_schema.plugins;查看MySQL版本的详细信息。

MySQL体系架构

通过后台线程将文件中的数据刷新到缓存中,或从缓存中将数据存储到文件中。

后台线程

Master Thread:负责将缓存中的数据异步刷新到磁盘中,保证数据的一致性。

IO Thread:为了提高性能,InnoDB使用了大量的AIO线程。参数为innodb_read_io_threads和innodb_write_io_threads,并且默认会启动4个。

Pugre Thread:事务提交后,该线程会回收已经使用并分配的undo页。undo记录的是事务的逆向操作,用于回滚及MVCC,参数为innodb_purge_threads相应的redo记录的是页的重做日志。

Page Cleaner Thread:该线程是InnoDb 1.2.x版本引入,作用是将之前版本中的脏页刷新操作都放到单独的线程中完成。

缓冲池:缓冲池其实就是一块内存区域,用过innodb_buffer_pool_size设置其大小。缓冲池中包含数据页,索引页,插入缓存,锁信息,自适应哈希索引,数据字典信息,重做日志缓存,额外内存池。缓存池可以有多个,通过哈希值存到不同的缓存区域。通过innodb_buffer_pool_instances设置缓存池数量。

InnoDB特性

1、插入缓存:Insert Buffer,Delete Buffer,Purge Buffer,分别对应INSERT,DELETE,UPDATE操作。

2、两次写:保证数据的可靠性,通过两次写恢复数据更准确。

3、自适应哈希索引:提高查询效率。

4、异步IO:提高磁盘的操作性能。

5、刷新临接页:当数据库刷新数据脏页时,同时也会刷新该页所在区域的所有脏页。

© 著作权归作者所有

共有 人打赏支持
Huangchp
粉丝 2
博文 43
码字总数 9988
作品 0
吉林
私信 提问
mysql myisam innodb 区别

最近连续接到了两次tencent的电话面试,当然不是同一个部门。都涉及到了一个mysql的基础知识问题。为了防止第三次打电话来,备注下。^^。 题目1:讲讲你对mysql myisam,innodb的认识。然后你...

马丁博客
2010/10/08
0
0
在MySQL 5.0里面,MyISAM和InnoDB存储引擎性能差别并不是很大

MySQL中MyISAM引擎与InnoDB引擎性能比较,基本上我们可以考虑使用InnoDB来替代我们的MyISAM引擎。 MySQL表结构 数据内容 $name = "heiyeluren"; $content = "MySQL支持数个存储引擎作为对不同...

luluback
2012/03/16
1K
3
MYSQL之一步到位之InnoDB

快速认识InnoDB InnoDB是MySQL下使用最广泛的引擎,它是基于MySQL的高可扩展性和高性能存储引擎,从5.5版本开始,它已经成为了默认引擎。 InnODB引擎支持众多特性: a) 支持ACID,简单地说就...

SANSOM
2013/04/23
0
1
MySQL存储引擎InnoDB与Myisam的六大区别

MySQL有多种存储引擎,每种存储引擎有各自的优缺点,可以择优选择使用: MyISAM、InnoDB、MERGE、MEMORY(HEAP)、BDB(BerkeleyDB)、EXAMPLE、FEDERATED、ARCHIVE、CSV、BLACKHOLE。 MySQL支持...

Junn
2013/12/11
0
2
MySQL: MyISAM和InnoDB的区别

InnoDB和MyISAM是在使用MySQL最常用的两个表类型,各有优缺点,视具体应用而定。基本的差别为:MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持。MyISAM类型的表强调的是性能,其执行...

crazyinsomnia
2010/03/07
11.6K
2

没有更多内容

加载失败,请刷新页面

加载更多

传播正能量——《海南英才》阅读的读后感2200字

传播正能量——《海南英才》阅读的读后感2200字: 新华社记者12月8日从公安部获悉,针对自媒体“网络水军”敲诈勒索等违法犯罪活动突出问题,今年以来,公安部组织各地公安机关依法深入开展侦...

原创小博客
14分钟前
1
0
Confluence 6 对一个空间进行归档后产生的影响

空间 如果一个空间被归档: 将不会在查找结果中显示,除非你选择 在归档空间中查找(Search archived spaces)。如果没有归档空间的话,这个功能是隐藏的。 页面和内容将不会在 Confluence 的...

honeymose
16分钟前
2
0
java框架学习日志-2

上篇文章(java框架学习日志-1)虽然跟着写了例子,也理解为什么这么写,但是有个疑问,为什么叫控制反转?控制的是什么?反转又是什么? 控制其实就是控制对象的创建。 反转与正转对应,正转...

白话
今天
4
0
Integer使用双等号比较会发生什么

话不多说,根据以下程序运行,打印的结果为什么不同? Integer a = 100;Integer b = 100;System.out.println(a == b);//print : trueInteger a = 200;Integer b = 200;System.out.pr...

兜兜毛毛
昨天
10
0
CockroachDB

百度云上的CockroachDB 云数据库 帮助文档 > 产品文档 > CockroachDB 云数据库 > 产品描述 开源NewSQL – CockroachDB在百度内部的应用与实践 嘉宾演讲视频及PPT回顾:http://suo.im/5bnORh ...

miaojiangmin
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部