0

テーブルのレコードを処理する必要があり、各レコードの処理結果をログに記録する必要があります。ADO.NET SqlDbType.Structured (詳細はこちら) を使用して、すべてを挿入する代わりに、データテーブルをストアド プロシージャに渡すことができます。そのデータテーブルを作成してから、ストアド プロシージャに渡す必要があります。このアプローチは、Windows サービス内の (データテーブル用に) 12k 行を超える場合でも最適でしょうか? これはサーバーのメモリを消費しすぎるのではないでしょうか? このシナリオでは、バッチでデータテーブルを作成してストアド プロシージャに渡すことができるかどうかわかりません。

編集:-これらの12K行では、各行に巨大なブロブはありません。各行の GUID (Id)、文字列 (ステータス)、および文字列 (ErrorMessage、If any) になります。

アドバイスや提案は役に立ちます。

4

1 に答える 1

1

テーブル値パラメーターは、時折のステータス/エラー メッセージの値が長くなっても、12,000 行には問題ありません。

もちろん、いつでも試すことができます。パフォーマンスが許容できるかどうかに影響を与える可能性のある多くの変数があり、環境、アプリケーション、無関係なアプリまたは無関係なアプリに固有のこれらすべての変数を説明することはおそらく不可能です。プロセス。

于 2012-05-24T01:46:45.577 に答える