1

コードをテストするために、SQLYog の「別のホストにコピー」オプションを使用して、ライブ データベースからテスト データベースにデータをコピーしています。ほとんどの場合、これで問題ありません。しかし、一部のテーブルでは、データセットが非常に大きく、テストには比較的小さなデータのサブセットしか必要ありません。[別のホストにコピー] ダイアログでは、構造のみをコピーするか、構造とデータをコピーするかを選択できます。

部分的なデータのみが必要な場合は、クエリを実行しselect * on table where condition、結果を SQL クエリとしてエクスポートし、そのクエリをテスト ホストにインポートして実行する必要があります。これは機能しますが、特に、テスト データの「小さな」サブセットでさえまだ多くの行である状況を考えると、楽しい手順とは言えません。where key not in (key list)一部のデータが既にコピーされている場合は、ターゲットのキーのリストを取得するためのクエリを作成し、メインの条件に条件を 追加する必要があるため、さらに複雑になります。

「別のホストへのコピー」機能を使用して行を選択的にターゲット データベースにコピーする方法はありますか?

4

1 に答える 1

2

現在、SQLyogコピー ツールで個々の行に WHERE 条件を使用することはできません。コピーするテーブルが 1 つだけ選択されていれば問題ありませんが、それ以上のテーブルがあると意味がありません。

ここでできることは、ソースに小さな「ダミー」テーブルを作成し、これをコピーすることです。ワークフローは次のようになります。

1) CREATE TABLE newtableAS SELECT * FROM oldtableWHERE ...

newtable2) SQLyog GUI を使用してコピーし、必要に応じてソースにドロップします。

newtable3)必要に応じてターゲットでRENAME

これにより、転送する行のみを考慮するようにネットワーク トラフィックが削減されます。また、「リダクション」はソース サーバー内に保持されるため、ファイルへのエクスポートを回避できます (ファイル システムやネットワークは関与しません)。

于 2011-10-25T09:07:14.150 に答える