バグのため、1つのテーブルにたくさんの行を挿入しました。行を削除しましたが、dbは200mbではなく>1gbです。どうすればそれを掃除できますか?テーブルを最適化してみました。サイズは縮小しませんでした。私はこの巨大なmysqlファイルで立ち往生していますか?
user34537
質問する
244 次
1 に答える
3
同一のテーブル構造を作成し、select * into newtable from oldtable
次に. 最も速いクロスプラットフォームの方法。drop oldtable
alter table newtable rename oldtable
(mysql では を使用できますrename table newtable to oldtable
が、それは標準の sql ではありません。)
1 つの注意点として、これは mysql がテーブルごとに 1 つのファイルに設定されている場合にのみ機能します。これはデフォルトの AFAIK ですが、1 つのファイルにすべてのテーブルを設定することもできます。そのように設定されている場合は、データベース全体を複製する必要があり、これははるかに重要な作業です。単一の「ibdata」ファイルがある場合、すべてのテーブルが 1 つのファイルにあり、おそらくこの回答が表示されるはずです。
于 2012-07-29T04:03:53.537 に答える