InnoDB是MySQL 5.5起默认存储引擎,支持ACID事务、行级锁+MVCC并发控制、主键聚簇索引及独立表空间管理,保障高并发下数据安全与高效访问。

InnoDB 是 MySQL 自 5.5 版本起的默认存储引擎,专为高并发、事务性强的业务场景设计。它不是简单“能存数据”的组件,而是整套保障数据安全、一致与高效访问的核心机制。
支持完整事务(ACID)
它严格实现原子性、一致性、隔离性、持久性。比如转账操作中,扣款和入账必须同时成功或同时失败;靠 undo log 回滚未提交变更,靠 redo log 确保已提交的数据不因宕机丢失。
行级锁 + MVCC 提升并发能力
多个用户更新不同行时互不阻塞;SELECT 默认走快照读,不加锁也能看到一致的数据视图。这使得电商下单、库存扣减等高频写场景更稳定。注意:若查询没走索引,仍可能升级为锁表。
数据按主键物理聚簇存储
每张 InnoDB 表都必须有主键(无显式主键时自建隐藏列),表数据和主键索引合并在一棵 B+ 树里。这意味着主键查询极快,但二级索引叶子节点只存主键值,查非主键字段常需“回表”一次。
独立表空间与灵活管理
默认开启 innodb_file_per_table=1 后,每张表对应一个 .ibd 文件,删表可直接回收磁盘空间。相比老式的共享系统表空间(ibdata1),更易备份、迁移和监控。










