ストアド・プロシージャ1には、レコード・セットを戻す選択照会があり、特定の日付が指定されています。私はそのレコードセットを通過するためにカーソルを使用しており、別のストアドプロシージャが呼び出される各行に対してです。ローの行操作のカーソルの代わり
ストアドプロシージャ2は、カーソルから各値の表に約20,000行を挿入します。
カーソルには約100個のレコードがあるため、挿入される行の総数は200Kになり、プロダクションで停止するまで数日間クエリが実行されます。
同じクエリは、開発者で約8分かかります。
SSIS(dev)でforeachコンテナを使用しようとしましたが、これは現在(dev)に5分かかっています。
これらのレコードを高速に挿入する方法はありますか?
テーブル値関数を使用すると考えましたが、最初のレコードセットに日付のみが含まれているため、2つの間の結合は困難です。
プロダクションとデベロッパーのデータ量は同じですか?もしそうなら、それはなぜより遅いのですか? –
カーソル内に200k行を挿入するには、数日かかることはありません。 –
システムの使用率が他のゼロに近い場合でも、本番システムで同じパフォーマンスが確認できますか? –