MySQL4.1でMyISAMを使っていて、ふと気づいたら1つのテーブルに4千万件のレコードを挿入してしまいました。 MyISAMで4千万行のテーブルを作るとどうなるかというと、 INSERT -> やや重いけどいける UPDATE -> やや重いけどいける TRUNCATE/DROP -> 一瞬 DELETE -> 破滅 という感じになることが分かりました。 このテーブルには、挿入日を示すカラムがあって、挿入から時間の経った古いレコードを削除したかったんです。 DELETE FROM large_table WHERE created_at > :expire_date この large_table が4千万行あるのですが、このDELETE文を実行したら7日間くらい返ってきませんでしたし、その間ずっと disk busy になったりしてサーバの調子が悪くなりました。 created_at