InnoDB和MyISAM的区别

222 阅读1分钟
  1. 事务:
    • InnoDB支持事务
    • MyISAM不支持事务
  2. 锁的粒度:
    • InnoDB支持行级锁(row-level locking)和表级锁(table-level locking)
    • MyISAM只支持表级锁(table-level locking)
  3. 外键:
    • InnoDB支持外键
    • MyISAM不支持外键
  4. MVCC:
    • InnoDB支持MVCC
    • MyISAM不支持MVCC
  5. 崩溃恢复能力:
    • InnoDB具有数据库崩溃恢复能力
    • MyISAM不具有这种能力
  6. 缓存能力:
    • InnoDB可以缓存索引,也可以缓存数据
    • MyISAM只缓存索引
  7. 占用资源:
    • InnoDB占用资源多,对硬件资源要求高
    • MyISAM占用资源少,对硬件资源要求低
  8. 读写阻塞:
    • InnoDB读写阻塞与事务隔离级别相关
    • MyISAM读写阻塞,读读不阻塞