あるテーブルの内容を別のテーブルにコピーする必要があります。だから私は使い始めました:
INSERT new_table SELECT * FROM old_table
ただし、現在、次のエラーが発生しています。
1297, "Got temporary error 233 'Out of operation records in transaction coordinator (increase MaxNoOfConcurrentOperations)' from NDBCLUSTER"
私はこれが発生する理由を理解していると思います。私のテーブルは巨大であり、MySQLは時間内にスナップショットを取得しようとします(すべてをロックし、それから1つの大きなトランザクションを作成します)。
ただし、私のデータはかなり静的であり、データを変更する他の同時セッションはありません。全体をロックせずに、一度に1行ずつ、または小さなチャンクでコピーするようにMySQLに指示するにはどうすればよいですか?
編集メモ:テーブル全体を行ごとにメモリ/ファイル/ダンプに読み込んで書き戻すことができることはすでに知っています。簡単な方法があるかどうか知りたいです(おそらく分離レベルを設定しますか?)。エンジンはInnoDBであることに注意してください。