私は巨大なテーブル(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行)で選択します。これは間違いなく安全だが、もっと遅くなるはずだ。
どのような方法が最適ですか?前もって感謝します!私が使用した
あなたは2つのテーブルを格納したい、同じデータベースに意味ですか? –
@RohitGaikwadはい同じデータベースにテーブルをコピーしています。アイデアは、テーブルを縮小し、最終的にはるかに小さなものを得ることです。 – user105715
あなたはそれについて主キーについて考えましたか? –