开发者社区 问答 正文

MyISAM与InnoDB

我要说的是一个涉及大量数据库写入的项目(70%的插入和30%的读取)。这个比率还将包括我认为是一次读取和一次写入的更新。读取内容可能很脏(例如,读取时我不需要100%准确的信息)。 有问题的任务将是每小时进行超过一百万次数据库事务。

我已经在网上阅读了很多有关MyISAM和InnoDB之间差异的内容,对于我要用于此任务的特定数据库/表,MyISAM似乎是我的明显选择。从我看来,由于需要支持行级锁定,因此如果需要事务处理,InnoDB很好。

是否有人对这种负载(或更高负载)有任何经验?MyISAM是要走的路吗?

展开
收起
保持可爱mmm 2020-05-08 11:02:18 345 分享 版权
1 条回答
写回答
取消 提交回答
  • 根据流量估算,每秒将近200次写入。使用MyISAM,任何时候都只能进行其中之一。您必须确保您的硬件可以跟上这些事务,以避免被超载,即,单个查询最多可以花费5毫秒。

    对我来说,这建议您需要一个支持行级锁定的存储引擎,即InnoDB。

    另一方面,编写一些简单的脚本来模拟每个存储引擎的负载,然后比较结果应该是相当简单的。来源:stack overflow

    2020-05-08 11:02:35
    赞同 展开评论
问答分类:
问答标签:
问答地址: