MyISAM诉InnoDB我要说的是,我正在做一个涉及大量数据库写作的项目(70%的插入和30%的读取)。这一比率还将包括更新,我认为是一读一写。阅读可能很脏(例如,我在阅读时不需要100%准确的信息)。所讨论的任务将是每小时处理100多万个数据库事务。我在网上读过很多关于MyISAM和InnoDB之间的区别的文章,对我来说,MyISAM似乎是我在这个任务中使用的特定数据库/表的明显选择。据我所读,如果需要事务,则InnoDB是很好的,因为行级锁定是支持的。有没有人有过这类负载(或更高的负荷)的经验?MyISAM是该走的路吗?
3 回答
白衣非少年
TA贡献1155条经验 获得超0个赞
MyISAM InnoDB ---------------------------------------------------------------- Required full-text search Yes 5.6.4 ---------------------------------------------------------------- Require transactions Yes ---------------------------------------------------------------- Frequent select queries Yes ---------------------------------------------------------------- Frequent insert, update, delete Yes ---------------------------------------------------------------- Row locking (multi processing on single table) Yes ---------------------------------------------------------------- Relational base design Yes
Frequent reading, almost no writing => MyISAM Full-text search in MySQL <= 5.5 => MyISAM
慕仙森
TA贡献1827条经验 获得超7个赞
慕少森
TA贡献2019条经验 获得超9个赞
对MyISAM表进行5秒的更新。 当更新正在进行时,比如说2.5秒,点击Ctrl-C来中断它. 观察桌子上的效果。更新了多少行?有多少没有更新?这个表是可读的,还是当你点击Ctrl-C时它被破坏了? 对InnoDB表进行相同的更新实验,中断正在进行的查询。 观察InnoDB表。 零
行已更新。InnoDB已经保证您有原子更新,如果无法提交完整的更新,则会回滚整个更改。而且,该表没有损坏。即使您使用 killall -9 mysqld
模拟坠机。
添加回答
举报
0/150
提交
取消