Innodb 和mylsam存储引擎的主要区别
- 是否支持行级锁 : MyISAM 只有表级锁 (table-level locking),而InnoDB支持行级锁(row-level locking) 和表级锁, 默认为行级锁。
- 是否支持事务和崩溃后的安全恢复: MyISAM 强调的是性能,每次查询具有原子性,其执行速度比 InnoDB 类型更快,但是不提供事务支持。但是InnoDB 提供事务支持事务,外部键等高级数据库功能。具有事务 (commit)、回滚(rollback) 和崩溃修复能力的事务安全(transaction-safe (ACIDcompliant))型表。
- 是否支持外键:MyISAM不支持,而InnoDB支持。
- 是否支持 MVCC:仅 InnoDB 支持。应对高并发事务, MVCC 比单纯的加锁更高效;MVCC只在 READ COMMITTED 和 REPEATABLE READ 两个隔离级别下工作;MVCC可以使用乐观(optimistic) 锁和悲观 (pessimistic) 锁来实现; 各数据库中MVCC实现并不统一。
本文探讨了InnoDB与MyISAM存储引擎的主要区别,包括行级锁的使用、事务支持、外键功能以及MVCC在高并发环境中的优势。MyISAM注重性能,但缺乏事务,而InnoDB提供全面的事务支持和高级数据库特性。

1104

被折叠的 条评论
为什么被折叠?



