2012-01-22 47 views
0

这可能是一个很琐碎的问题,但我不明白,因为据我所知的MyISAM应该更快的InnoDB在MyISAM转换奇怪的性能行为

我有一个包含所有的MyISAM表的数据库,除了一个 - 这是简单的N:M加盟表约130k记录。我不知道为什么只有这个表是InnoDB,但它并不是有意的:)它有两个外键指向其关联表的索引。

我试图将表更改为MyISAM,因为我想它会提高性能,但相反,涉及此表的查询就像慢了50倍(我甚至试图重新创建索引,但它没有帮助)。这是为什么?

+1

一个精心设计的innodb表(聚集索引)将执行myisam手下来 - http://stackoverflow.com/questions/4419499/mysql-nosql-help-me-to-choose-the-right-one-on -a/4421601#4421601 –

+0

你为什么认为MyISAM比InnoDB更快? –

回答

2

我怀疑你的替换索引没有得到使用。您是否尝试过使用EXPLAIN分析查询计划?这应该显示你的索引是否被使用,以及如何使用。

只需输入“EXPLAIN [yourquery];”进入MySQL控制台。