InnoDB存储引擎的主要优点

InnoDB是一种可靠性高的高性能MySQl数据库存储引擎,主要优点包括:

  1. 它遵循ACID模式设计,具有与事务(Transactions),回滚和保护用户数据的崩溃恢复能力。
  2. InnoDB 提供行级锁(Locking on row level),拥有与Oracle类似的不加锁读取(Non-locking read in SELECTs)。InnoDB锁定在行级,并在SELECT语句提供一个Oracle风格一致的非锁定读。这些特色增加了多用户并发性和性能表现。没有在InnoDB中扩大锁定的需要,因为在InnoDB中行级锁定适合非常小的空间。
  3. InnoDB表基于主键在磁盘上安排数据,有优化的常见查询功能。每一个InnoDB表都有一个叫做聚集索引的主键索引,能尽可能减少数据查询次数。
  4. 为了维护数据完整性,InnoDB还支持外键完整性约束。
  5. 可以与其它MySQL存储引擎混合使用InnoDB表。例如,能用一个结合操作在一个单独查询中综合源自InnoDB和InnoDB表的数据。
  6. InnoDB是针对提高CPU效率而设计的,并且在处理大数据时表现最佳。

显示存储引擎的命令

可以在登陆MySQL数据库后,通过下述命令确定自己的服务器是否支持InnoDB:

mysql> SHOW ENGINES\G

“SHOW ENGINES”能显示与服务器存储引擎有关的信息。这对确实一种存储引擎是否得到支持或查看默认引擎很重要。查询结果显示的存储引擎如果是“YES”,表示支持;而“DEFAULT”代表默认存储引擎。

InnoDB 存储引擎的特点

InnoDB存储引擎用自己的缓冲池维护主内存里的缓存数据和索引。InnoDB将它的表和索引存储在表空间里,可以由几个文件(或原始磁盘分区)组成。这一点与使用不同文件存储数据的MyISAM表明显不同。InnoDB表可以非常大,操作系统所在的文件被限制在2GB。

在服务器支持InnoDB的情况下,Windows Essentials installer使InnoDB成为Windows上MySQL的默认表。