霜天部落 | 专注PHP研发,研究LAMP高性能架构部署与优化

InnoDB 的一些特性

最近用到了mysql的innoDB表,那么就分析一下它的特点:

1、auto_increment 的字段不能像 MyISAM 中一样在 Primary Key 中用于 Sub Group 的序列号
例如:

Create table sampling_site (
site_id Char(3) NOT NULL,
site_sub_id Tinyint UNSIGNED NOT NULL AUTO_INCREMENT,
Primary Key (site_id, site_sub_id)
) TYPE = InnoDB;

会失败。

2、auto_increment 字段仅仅保证在本次服务器运行期间是持续增加,如果服务器重新启动,那么已经使用但是又删除的值可能会重新使用。

例如最大值目前是 11,删除 11 的记录,重新启动服务器,再次 insert,可能又会使用 11 这个值

3、InnoDB 的缺省事务一致性(TRANSACTION ISOLATION LEVEL)和 Oracle 不一样

InnoDB : REPEATABLE-READ
Oracle : READ-COMMITTED