2016-10-06 16 views
0

私は巨大なテーブル(3.5Tbのデータとはい、それは1つのテーブルのみです)でMySQL 5.5を分離しました。巨大なMySQLテーブルのINSERT ... SELECT

目的は、このテーブルの半分を同じサーバー上の別のテーブルにコピーすることです。どのようにそれをより迅速かつ迅速に行うには? :

1)「INSERT INTO new_table SELECT * FROM old_table WHERE ...」。 この場合のMySQLの動作は何ですか?私はMySQLへの接続がタイムアウトによって壊れることを期待しますが、クエリ自体はすべてのデータがコピーされるまで実行されるべきです。 または、そのようなクエリでMySQLがクラッシュするだけですか?

2)同じ「INSERT ... SELECT」を使用しますが、チャンク(例:10000行)で選択します。これは間違いなく安全だが、もっと遅くなるはずだ。

どのような方法が最適ですか?前もって感謝します!私が使用した

+0

あなたは2つのテーブルを格納したい、同じデータベースに意味ですか? –

+0

@RohitGaikwadはい同じデータベースにテーブルをコピーしています。アイデアは、テーブルを縮小し、最終的にはるかに小さなものを得ることです。 – user105715

+0

あなたはそれについて主キーについて考えましたか? –

答えて

関連する問題