@kyanny's blog

My thoughts, my life. Views/opinions are my own.

copy to tmp table

たかだか700万行、 mysqldump して 150MB 弱のデータ量しかないテーブルに一つユニークインデックスを貼るだけで7時間半かかってまだ終わらないってどういうことよ。この大きさになるともう ALTER TABLE では無理だってことか・・・。夜中に ALTER TABLE し始めたときと、ついさっきとで、 show full processlist の結果は悲しくも変わらず copy to tmp table のまま。何個かインデックス貼るうちの最初の一個でこれじゃあ。ほっといても永遠に終わらなそうだ。

RENAME TABLE したあと元の名前でインデックスありのテーブルを作り直し、 INSERT INTO new_table SELECT * FROM old_table するのと、 mysqldump して CREATE TABLE にインデックスたして全部ロードしなおすのと、どっちが早いんだろう。まぁ後者だろうな。やれやれまたやり直しだ。