1

その場で 3 つの sybase テーブルを作成する仕事があります。したがって、それらはすべて索引付けされていません。現在、それらを制御できないため、インデックスを作成する方法がありません

table1 - 250,000 行 table2 - 270,000 行 table3 - 120 万行

ここで、上記の 3 つのテーブルすべての結果を組み合わせるジョブが必要です。基本的に、いくつかのSQLステートメントを使用したコピー。UNION ALL が解決策であることは知っていますが、何百万ものレコードをメモリにロードする必要があるため、サーバーを占有する可能性があります。最終テーブルをバッチロードする方法はありますか? もしそうなら、あなたは私にその方法を教えてもらえますか?

ありがとう、RC

4

1 に答える 1

0

考えられる 2 つの方法:

  1. テーブルに ID がある場合は、範囲で移動します
    。 while サイクルを使用してセットで実行し、すべてのセットでコミットします。

  2. カーソルを使用する ID がないと、1 行ずつ移動するか、可能であれば一度に複数行移動できます。その中で最も明確な列を見て、それを使用してください。

于 2012-11-21T12:09:09.480 に答える