2013-07-12 48 views
1

我在MySQL中有一個擁有7億行的表。我想將其存儲引擎從InnoDB更改爲MyISAM,但SQL查詢需要花費大量時間來執行。更改MySQL表的存儲引擎的查詢超時

下面是查詢: -

ALTER TABLE table ENGINE=MyISAM 

在phpMyAdmin和MySQL工作臺這個查詢得到超時。

這個查詢應該花費很多時間,因爲我有非常大量的數據,如果是的話,我需要做些什麼才能使它成功執行?

注意: - 我決定切換到MyISAM,因爲在這張表上會有更多的讀取和很少的寫入。

回答

0

也許您可以嘗試首先創建新的MyISAM空表,然後從另一個表插入數據?

我沒有這麼大的表來測試這個規模,在我最大的表中它幾乎相同。

查看索引很重要,因爲重新佈局有時需要sooo looonngggg。

+0

我不知道爲什麼這種情況沒有發生,我想我需要爲此設置CRON作業...我試過刪除索引,但索引都沒有被刪除,也沒有存儲引擎。 – techgyani

+0

Cron or使用'SCREEN'。我想知道爲什麼InnoDB到MyISAM? InoDB更好,更快,更安全......爲什麼? – jaczes

+0

我讀過很多論壇,有人說MyIsam比較少寫入,讀取次數多,所以我想用這個實驗,因爲數據庫很慢。 – techgyani