InnoDB历史

InnoDB是MySQL的数据库引擎之一,为MySQL AB发布binary的标准之一。InnoDB由Innobase Oy公司所开发,2006年五月时由甲骨文公司并购。与传统的ISAM与MyISAM相比,InnoDB的最大特色就是支持了ACID兼容的事务(Transaction)功能,类似于PostgreSQL。

InnoDB和MySQL的一些曲折历史:

2008年发布InnoDB Plugin,适用于MySQL 5.1版本,这是Oracle创建的下一代InnoDB引擎,其拥有者是InnoDB而不是MySQL。

Google,Percona,Sun Microsystems等公司为InnoDB Plugin提供了patch补丁包,使其性能发挥至极致。

MySQL 5.1.38前的版本中,当你需要安装InnoDB Plugin时,必须下载Plugin的文件,解压后再进行一系列的安装。

从MySQL 5.1.38开始,MySQL包含了2个不同版本的InnoDB存储引擎—一个是旧版本的引擎,称之为build-in innodb;另一个是1.0.4版本的InnoDB存储引擎。如果你想使用新的InnDB Plugin引擎,只需在配置文件做如下设置:

[mysqld]  
ignore-builtin-innodb  
plugin-load=innodb=ha_innodb_plugin.so;  
innodb_trx=ha_innodb_plugin.so; 
innodb_locks=ha_innodb_plugin.so;  
innodb_cmp=ha_innodb_plugin.so;  
innodb_cmp_reset=ha_innodb_plugin.so;   
innodb_cmpmem=ha_innodb_plugin.so;  
innodb_cmpmem_reset=ha_innodb_plugin.so;  

MySQL5.5使用InnoDB作为默认的引擎,你不再需要进行任何安装。这个引擎就是InnoDB Plugin,已经成为默认引擎随MySQL一起分布。为了更好的利用引擎的特性,推荐如下配置:

innodb_file_per_table=1
innodb_file_format=barracuda
innodb_strict_mode=1

innodb_strict_mode=1用来开启innodb严格模式,在严格模式下innodb在一些条件下会直接报错,而不是发出警告或者保守处理某些语法。 innodb_file_format指定文件格式,InnoDB当前支持两种文件各式,Antelope和Barracuda。Antelope就老的文件格式,它是MySQL5.5默认的格式,以最大限度兼容之前的版本,支持COMPACT和REDUNDANT行格式。Barracuda是新的文件格式,额外支持DYNAMIC和COMPRESSED行格式,同时TRUNCATE TABLE的速度更快。 innodb_file_per_table=1表示每个表使用独立的表空间,这样做有很多好处,以后会讲到。