2

重複の可能性:
大きな innodb テーブルを高速にコピーする方法

同じデータベース内に Innodb テーブルのコピーを作成したいと考えています。テーブルには約 400 万のレコードが含まれています。テスト目的でテーブルの新しいコピーが必要です。新しくコピーしたテーブルで、構造を少し変更したいだけです(古い主キーを削除してから、新しい複合主キーを作成し、RANGEで論理パーティションを追加したいなど)が、コンテンツは同じままです。

Phpmyadmin でその innodb テーブルをコピーしようとしましたが、時間がかかりすぎて、サーバー リソースを消費したため、意図的にプロセスを強制終了することにしました。

構造にいくつかの変更を加えてそのテーブルのコピーを作成する最良の方法は何でしょうか(古いPKを削除し、新しい複合PKを追加し、RANGEで論理パーティションを追加します)??

最初に構造をコピーして必要な変更を加えてからデータをコピーする方法はありますか? テーブルは約 400 万のレコードを持つ Innodb であることに注意してください!!!

私が結論付けた限りでは、PHPMyadmin は良い方法ではありません。

4

1 に答える 1

0

新しいテーブル構造を作成し、PK とインデックスを設定できます。

次に、INSERT ... SELECT クエリを使用して、他のテーブルから新しいテーブルにデータを取得します。

http://dev.mysql.com/doc/refman/5.5/en/insert-select.html

于 2012-08-29T05:50:51.950 に答える