【问题标题】:Using MyISAM for reading and InnoDB for writing data使用 MyISAM 读取数据,使用 InnoDB 写入数据
【发布时间】:2012-12-29 17:24:26
【问题描述】:

我阅读了很多关于从性能角度比较 MyISAM 和 InnoDB 的文章,我决定使用 MyISAM 读取数据,使用 InnoDB 写入数据。

我想使用两个结构,如下图所示。两个相同(同步)的数据库,但表引擎不同。

您对此结构有何建议? 这种设计有什么缺点?

【问题讨论】:

  • 有了这样的设计,从写作性能的角度来看,你不会被限制在更糟糕的地方吗?另外,MyISAM 的一个问题是写作会锁定你的整个表。同步时,您可能根本无法阅读。

标签: mysql innodb myisam


【解决方案1】:

我认为您应该分享您的一些目标绩效水平。您的建议的主要缺点是您获得了 MyISAM 的所有缺点(表级锁定和零崩溃恢复),而没有 InnoDB 的优点(崩溃恢复、行级锁定和事务)。你增加了复杂性,实际上没有任何好处。如果调优和使用得当,InnoDB 的性能实际上是相当不错的。我运行一组机器,平均每秒处理 20k-30k 个查询,每秒总计数百万个查询,所有 InnoDB。性能不是问题。

【讨论】:

  • 感谢您的帮助 jeremycole
【解决方案2】:

这种设计的缺点是您在写入时付出了巨大的复制代价,其中包括 InnoDB 假定的读取惩罚和 MyISAM 假定的写入惩罚,而读取时的性能收益可能相当小。

【讨论】:

    猜你喜欢
    • 2011-04-08
    • 1970-01-01
    • 1970-01-01
    • 2011-09-21
    • 2012-06-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多