MySQL 5.5(发布于2010年底)将默认存储引擎从 MyISAM 切换为 InnoDB,这是 MySQL 发展史上的一个重要里程碑。这一改变主要是为了适应现代互联网应用对高并发、数据完整性和高可用性的强烈需求。 以下是促使 MySQL 做出这一改变的核心原因: 1. 事务支持(ACID属性)与数据安全 InnoDB: 提供了完整的事务(Transaction)支持,满足 ACID(原子性、一致性、隔离性、持久性)特性。它支持 (提交)和 (回滚)。在电商、金融等业务中,如果一个多步操作(如扣款、发货)中途失败,InnoDB 可以回滚,保证数据不会错乱。 MyISAM: 不支持事务。如果更新操作在中途崩溃,数据会处于半更新的不一致状态。 结论: 随着 Web 2.0 和电子商务的崛起,数据一致性变得至关重要,InnoDB 成为刚需。 2. 并发性能:行级锁 vs 表级锁 InnoDB: 采用行级锁(Row-level Locking),并且支持 MVCC(多版本并发控制)。这意味着即使在同一个表中,多个用户也可以同时修改不同的行,读写操作互不阻塞,极大地提高了高并发环境下的吞...