1.Insert Buffer
Insert Buffer可能是InnoDB存储引擎关键特性中最令人兴奋的一个功能。不过这个名字可能会让人认为插入缓冲是缓冲池中的一个组成部分。其实不然,InnoDB缓冲池中有Insert Buffer信息固然不错,但是Insert Buffer和数据页一样,也是物理页的一个组成部分。
在InnoDB存储引擎中,主键是行唯一的标识符。通常应用程序行中记录的插入顺序是按照主键递增的顺序进行插入的。因此插入聚集索引(Primary key)一般是顺序的,不需要磁盘的随机读取比如按下列SQL定义表
create table t(
a int AUTO_INCREMENT,
b varchar(30),
primary key(a)
);
其中a列是自增长的,若对a列插入的NULL值,则由于其具有AUTO_INCREMENT属性,其值会自动增长。同时页中的行记录按a的值进行顺序存放。在一般情况下,不需要随机读取另一个页中的记录。因此,对于这类情况下的插入操作,速度是非常快的。
注意并不是所有的主键插入都是顺序的。若主键类是UUID这样的类,那么插入和辅助索引是一样的