2013-11-24 33 views
2

我一直在使用phpMyAdmin將我的表格切換到InnoDB。每張桌子最多花費30秒。從MYISAM通過phpmyadmin切換到InnoDB非常慢

一張桌子卡住了,並且已經佔用了15分鐘(仍然會)。

在MySQL進程列表,它表明:

狀態:

copy to tmp table 

信息:

ALTER TABLE `table` auto_increment = 2446976 ROW_FORMAT = DYNAMIC 

爲什麼這個過程要花這麼長時間?

我可以殺死這個過程嗎?還是應該讓它走?該表很熱,所以有些行正在等待插入。

該表在varchar(30)列中具有唯一索引。這可能是問題嗎?

回答

0

需要很長時間,因爲MySQL需要用新結構創建新表,然後將數據從舊錶(MyISAM)複製到新表(InnoDB)。當所有記錄都被複制時,它將替換表格。

我不建議殺死它,因爲回滾過程(新表是InnoDB)需要更長的時間。等到它完成。 ALTER完成後,表將成爲InnoDB的良好狀態。