InnoDB是一种可靠性高的高性能MySQL数据库存储引擎,主要优点包括:
- 它遵循ACID模式设计,具有与事务(Transactions)、回滚和保护用户数据的崩溃恢复能力。
- InnoDB引擎在主内存中维护了一个buffer pool,用来缓存表和索引,频繁访问的数据会直接在内存中操作。
- 如果缓存中或者磁盘中的数据有损坏,MySQL的数据校验机制会在你使用它之前提醒你。
- 设计表时为每个表添加了主键,会自动优化涉及列的操作。也就是说基于主键的查询、排序、聚合性能会很高。
- InnoDB提供行级锁,拥有与Oracle类似的不加锁读取。InnoDB锁定在行级,并在SELECT语句提供一个Oracle风格一致的非锁定读。这些特色增加了多用户并发性和性能表现。
- InnoDB表基于主键在磁盘上安排数据,有优化的
- 为了维护数据完整性,InnoDB还支持外键完整性约束。
- InnoDB可以与其它MySQL存储引擎混合使用InnoDB表,即便是在同一个SQL语句中也可以使用多种存储引擎的表。
- InnoDB的设计初衷是为了在处理大量数据时提高CPU效率和性能。InnoDB可以存储大量的数据,即使操作系统限制单个文件大小为2G的系统上也如此。