为什么要使用InnoDB或MyISAM

时间:2010-11-22 15:15:22

标签: mysql database innodb myisam

  

可能重复:
  Should I always prefer MySQL InnoDB over MyISAM?

在什么条件下应该使用InnoDB而不是MyISAM?我见过一些MySQL优化测试,其中MyISAM被证明更快。我的所有表都是MyISAM,为什么要切换到InnoDB?

4 个答案:

答案 0 :(得分:12)

优点& InnoDB&的缺点MyISAM -

  1. InnoDB通过重播日志从崩溃或其他意外关机中恢复。
  2. InnoDB可以在可靠性较低但在某些情况下性能较高的模式下运行。
  3. InnoDB会自动将多个并发插入组合在一起并同时将它们刷新到磁盘。
  4. InnoDB在每次交易后刷新事务日志,大大提高了可靠性。
  5. 与InnoDB不同,MyISAM内置全文搜索
  6. MyISAM仍然广泛用于Web应用程序,因为在大多数数据库访问是读取的情况下,传统上它被认为比InnoDB更快。
  7. 在将数据写入/更新到InnoDB表时,只锁定了该特定行,而在MyISAM中,整个表都被锁定。
  8. InnoDB提供全面交易支持。

答案 1 :(得分:5)

事务和并发读/写怎么样?崩溃恢复也更好。有一些功能只能使用MyISAM,比如全文搜索,但除非你需要这些功能,否则我会选择InnoDB。

答案 2 :(得分:3)

每个更新操作都独占锁定表。并且您无法通过更新同时从此表中进行选择。

答案 3 :(得分:3)

InnoDB的创建者 - Heikki Tuuri,使用以下电子邮件签名。

  

InnoDB - 交易,行级别   锁定和MySQL的外键