我知道这有a bunch of other questions。我遇到的问题是就最新版本的存储引擎问题找到最新的共识。
有些人说,对于读取MyISAM更快,但InnoDB的“最近”改进要么减轻或消除了这种差异。是这样的吗?
MYSQL性能博客中的This article直接与其他与此处问题相关的文章相关联,但已有3年之久。我们是开发人员,我们实际上在狗年工作 - 3年是一个年龄!
-
我有许多表,其中一些主要是写入的,其中一些主要是从中读取的,几乎没有写入。还有很多外键需要InnoDB,所以那些将作为InnoDB保留,但我想知道我是否应该更改主要读取的表并且没有MyISAM的外键,或者这是否是使用最新版本的两个存储引擎是无意义的事情吗?
-
我很欣赏这可能会被投票关闭,但如果这样做,请链接到最新文章?我已经尝试过受时间限制的谷歌搜索,但文章链接到相同的旧文章。感谢。
答案 0 :(得分:7)
正如你所指出的,关于MySQL Performance Blog的文章现在差不多已有4年了。从那时起,InnoDB得到了很大改善。 MyISAM不是。
就在昨天,MySQL 5.5发布了。这是InnoDB是默认存储引擎的第一个版本。因为某种原因。 Oracle声称Linux的性能提升高达3.5,Windows的性能提升高达15倍(与5.1 InnoDB相比)。
答案 1 :(得分:2)
我想说,几乎没有区别。我最近读了一篇文章,消除了这个神话,但是,它似乎不再适用了。
无论如何,我确实相信MyISAM和InnoDB之间的决定现在主要取决于问题
至少,这些是我选择的原则。
答案 2 :(得分:1)
一般来说,似乎主要使用InnoDB,但仍有一些领域MyIsam比InnoDB快得多。我有一个网站列出了跑步比赛的时间,并为每位运动员创建了一条记录www.marastat.com。我们的网站拥有数百万运动员。我们添加了一个搜索功能,并对名字/姓氏进行了类似的搜索,发现使用InnoDB和一个索引需要一分钟的时间来完成一些搜索。我们复制了InnoDB表并在MyIsam版本上添加了全文索引,大多数查询可以在一两秒内完成。