2015-09-21 23 views
3

我想知道为什么仍然即使版本的MySQL服务器5.6+为什么当InnoDB被鼓励使用时,MySQL mysql表仍然是MYISAM?

的MySQL店的元数据库(“MySQL的”)表大多在MyISAM数据类型时,他们自己也促使开发商/用户使用InnoDB作为默认的数据库引擎并认为过时使用MyISAM了?

+1

你在问错人。询问开发人员。 (但我想他们希望避免打破现有人员的数据库安装与不兼容的更改。) –

回答

2

当然没有人能为开发团队可言,但MyISAM seems to be the most appropriate choice for these tables

  • 为行级锁没有真正的需要:有一点,如果需要任何并发性,因为很少有线程(通常是一个:管理员)应该一次写入该数据库。表级锁定就足够了。
  • 非常罕见需要事务处理:典型的访问是只读的
  • 很少需要支持外键:结构很简单,MySQL开发人员不需要保护来维护参照完整性(甚至不需要智能管理员,不应该摆弄这个数据库:管理工具和命令存在的原因)
  • 速度确实很重要:MyISAM仍然比InnoDB稍快,特别是对于读取
  • 如果它没有损坏, t修复它

我可以看到一个理由切换到但是InnoDB:its resistance to crashes and its ability to recover from one,由于其交易性质。

+0

比这更简单。由于技术原因,mysql/*表现在不能成为InnoDB,Oracle正在努力解决这个问题。这不是一个简单的改变,所以需要一些时间。 – akuzminsky

+0

你为什么不发表这个答案,并附上一些支持这种说法的证据? – RandomSeed

1

有人认可InnoDB over MyISAM,但这并不意味着MyISAM是无用的。

从一般意义上讲,InnoDB解决了很多问题,这些问题是MyISAM的限制,这对于人们拥有的大量需求是很有好处的;但在某些情况下,MyISAM比InnoDB更好。

例如,如果您的系统是密集读取的,MyISAM接管InnoDB,并且在许多其他情况下;进一步它提供了与旧版应用程序的兼容性,这些应用程序想要升级到更新版本的MySQL,这是MySQL社区在所有新版本中支持它的最大原因之一。

您可能想阅读以下链接以获取更多信息,以便在两种情况下进行比较。

When to use MyISAM and InnoDB?

Comparison between MyISAM and InnoDB

+0

不是所问问题的答案。 – GhostGambler

相关问题