你如何选择MySQL数据库引擎

Ton*_*yer 16 mysql innodb myisam

特别是,当 MyISAM 和 InnoDB 都没有缺少必需的功能(例如,您不需要外键)时,您如何在两者之间进行选择。

它总是归结为尝试和测量吗?或者是否有关于读取与写入的数量和频率以及其他类似措施的良好经验法则?表的大小对典型选择有影响吗?

Jau*_* Ho 6

答案是您应该始终进行测量,如果可能的话,最好使用您自己的数据和工作量。

由于数据访问模式可能因应用程序而异,因此很难说并且很可能无法为所有工作负载确定“最佳”存储引擎。

然而,上周参加 MySQLConf/Percona Performance Conf 的 MySQL 领域取得了非常令人鼓舞的进展。

一些替代存储引擎:

  1. XtraDB(InnoDB 的分支)
  2. InnoDB 插件
  3. 交换机
  4. 数据库

此外,Percona、Google 等提供了对 InnoDB 性能有很大帮助的补丁。就个人而言,我运行 OurDelta 构建。它对我来说效果很好,我鼓励查看 OurDelta 和 Percona 构建。


Aln*_*tak 5

如果它只是一个简单的存储/报告系统,我会使用 MyISAM 来获得其原始性能。

如果我担心具有大量写入的多个并发访问,我会使用 InnoDB,以利用行级锁定。