1.InnoDB官方文档
https://dev.mysql.com/doc/refman/5.7/en/innodb-introduction.html
2.InnoDB存储引擎特性
| 特征 | 是否支持 |
|---|---|
| B树索引 | 支持 |
| 备份/时间点恢复(在服务器中实现,而不是在存储引擎中。) | 支持 |
| 集群数据库支持 | 不支持 |
| 聚集索引 | 支持 |
| 压缩数据 | 支持 |
| 数据缓存 | 支持 |
| 加密数据 | 支持(在服务器中进行加密后写入) |
| 外键支持 | 支持 |
| 全文检索索引 | 支持 |
| 地理空间数据类型支持 | 支持 |
| 地理空间索引支持 | 支持 |
| 哈希索引 | 不支持(InnoDB 在内部使用哈希索引来实现其自适应哈希索引功能。) |
| 索引缓存 | 支持 |
| 锁定粒度 | 行 |
| MVCC | 支持 |
| 复制支持(在服务器中实现,而不是在存储引擎中。) | 支持 |
| 存储限制 | 64TB |
| T-树索引 | 不支持 |
| 事务 | 支持 |
| 更新数据字典的统计信息 | 支持 |
3.InnoDB存储引擎的优点
1.如果服务器因为硬件或软件问题而意外退出,无论当时数据库中发生了什么,重启数据库后都不需要做任何特别的事情。InnoDB崩溃恢复会自动完成崩溃之前提交的更改,并撤消正在进行但未提交的更改,从而允许您重新启动并从中断处继续。
2.InnoDB存储引擎维护自己的缓冲池,在访问数据时将表和索引数据缓存在主内存中 。经常使用的数据直接从内存中处理。此缓存适用于多种类型的信息并加快处理速度。
3.InnoDB 不仅允许对同一张表进行并发读写访问,它还缓存更改的数据以简化磁盘 I/O。
4.性能优势不仅限于具有长时间运行查询的大型表。当从表中反复访问相同的行时,自适应哈希索引会接管以使这些查找更快,就好像它们来自哈希表一样。
