使用MyISAM进行读取,使用InnoDB进行数据写入

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

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

enter image description here

What is your suggestions about this structure? What are disadvantages of this design?

回答(2)

2 years ago

我认为您应该分享一些目标性能水平 . 您的建议的主要缺点是您获得了MyISAM的所有缺点(表级锁定和零崩溃恢复),并且没有InnoDB的优势(崩溃恢复,行级锁定和事务) . 你增加复杂性几乎没有任何好处 . InnoDB的性能实际上非常好,经过精心调整和正确使用 . 我运行的机器平均每秒处理20k-30k查询,每秒数百万次查询,所有InnoDB . 性能不是问题 .

2 years ago

这种设计的缺点是你在写入时付出了巨大的复制损失,其中包括InnoDB假设的读取惩罚和MyISAM假设的写入惩罚,因为读取可能带来非常小的性能优势 .