2011-07-25 25 views
1

テストコードでは、SQLYogの「異なるホストにコピー」オプションを使用して、ライブデータベースからテストデータベースにデータをコピーしています。ほとんどの場合、これは大丈夫です。しかし、いくつかのテーブルではデータセットが絶対的に巨大であり、テストのためにデータの比較的小さなサブセットしか必要としません。 [異なるホストにコピー]ダイアログでは、構造のみ、構造とデータをコピーするオプションが表示されます。SQLYog:部分データをコピーしますか?

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

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

答えて

1

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

ここでできることは、ソース上に小さな「ダミー」テーブルを作成してこれをコピーすることです。 )

2)今SQLyogのGUIを使用してnewtableをコピーして、次の を必要に応じてソースの上にドロップ... oldtable WHERE * FROM

1)CREATE TABLE newtable AS SELECT:ワークフローは次のように可能性がありRENAME newtable(必要な場合)

これにより、転送する行だけが考慮されるようにネットワークトラフィックが削減されます。そして、「削減」がソースサーバー内に保持されている(ファイルシステムやネットワークに関係しない)ので、ファイルへのエクスポートは避けてください。

+0

私はソースデータベースで読み取り専用アクセスしかできないため、残念ながらこれはオプションではありませんでした。とにかくありがとう。 – GordonM

関連する問題