InnoDB存储引擎

Posted tanwt

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了InnoDB存储引擎相关的知识,希望对你有一定的参考价值。

InnoDB存储引擎支持事务,其设计目标主要是面向在线事务处理(OLTP)的应用。其特点是是行锁设计、支持外键,并支持类似Oracle的非锁定读,即

默认读取操作不会产生锁。从mysql数据库5.5.8版本开始,InnoDB 是默认的存储引擎。

InnoDB通过使用多版本并发控制(MVCC)来获得高并发性,并实现SQL标准的4种隔离级别,默认为REPEATABLE 级别。同时,使用一种被称为next-key

locking的策略来避免幻读(phantom)现象的产生。除此之外,InnoDB存储引擎还提供插入缓冲(insert buffer)、二次写(double write)、自适应哈希索引

(adaptive hash index)、预读(read ahead)等高性能和高可用功能。

对于表中数据的存储,InnoDB存储引擎采用了聚集(clustered)的方式,因此每张表的存储都是按照主键的顺序进行存放。如果没有显示地在表定义时指定

主键,InnoDB存储引擎会为每一行生成一个6字节的ROWID,并以此为主键。

InnoDB存储引擎是Mysql数据库最为常用的一种引擎,而Facebook、Google、Yaohoo 等公司的成功应用已经证明了InnoDB存储引擎具备的高可用、高性能

以及高可扩展性。在以后的章节我会根据《Mysql技术内幕 InnoDB存储引擎》给大家总结InnoDB,并加上自己的理解和一些查阅的资料。 


 

(OLTP)
On-Line Transaction Processing联机事务处理过程

 

也称为面向交易的处理过程,其基本特征是前台接收的用户数据可以立即传送到计算中心进行处理,并在很短的时间内给出处理结果,是对用户操作快速响应的方式之一。

 


以上是关于InnoDB存储引擎的主要内容,如果未能解决你的问题,请参考以下文章

InnoDB存储引擎概览

MySQL innodb引擎深入讲解

MYSQL存储引擎InnoDB(三十五):临时表空间

InnoDB存储引擎介绍-InnoDB存储引擎结构

innodb 存储引擎为啥要用一个自增的主键

详解MySQL存储引擎Innodb