2012-01-22 43 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控制檯。