InnoDB是一种兼顾了高可靠性和高性能的通用存储引擎。在MySQL 8.0中,InnoDB是默认的MySQL存储引擎。除非您配置了其他默认存储引擎,否则发出CREATE TABLE不带ENGINE= 子句的语句将创建一个InnoDB表。
InnoDB的主要优势:
1、它的DML操作遵循 ACID模型,并 具有具有 提交,回滚和 崩溃恢复 功能的事务, 以保护用户数据。
2、行级锁定和Oracle风格的一致读取可提高多用户并发性和性能。
3、InnoDB表格将您的数据排列在磁盘上以基于主键优化查询 。每个 InnoDB表都有一个称为聚集索引的主键索引,该索引 组织数据以最小化主键查找的I / O。
4、维护数据 完整性, InnoDB支持 FOREIGN KEY约束。使用外键检查插入,更新和删除,以确保它们不会导致不同表之间的不一致。
InnoDB存储引擎功能
特征 支持
B树索引 是
备份/时间点恢复(在服务器中而不是在存储引擎中实现。) 是
集群数据库支持 没有
聚集索引 是
压缩数据 是
资料快取 是
加密数据 是(通过加密功能在服务器中实现;在MySQL 5.7和更高版本中,支持静态数据表空间加密。)
外键支持 是
全文搜索索引 是(MySQL 5.6和更高版本提供InnoDB对FULLTEXT索引的支持。)
地理空间数据类型支持 是
地理空间索引支持 是(MySQL 5.7和更高版本提供InnoDB对地理空间索引的支持。)
哈希索引 否(InnoDB在内部将哈希索引用于其自适应哈希索引功能。)
索引缓存 是
锁定粒度 行
MVCC 是
复制支持(在服务器中而不是在存储引擎中实现。) 是
储存限制 64TB
T树索引 没有
交易次数 是
更新数据字典的统计信息 是