2

多くの行 (10,000 以上) を持つ 2 つのデータ テーブルをマージする .NET アプリケーションがあります。DataAdapter.Update コマンドを使用すると、SQL テーブルに対して多数の更新/挿入を実行する可能性が高くなります。

現在、Adapter UpdateBatchSize プロパティを 200 に設定しています。VS は、この値を高く設定しすぎるとパフォーマンスが低下する可能性があるため警告します。わかりました。

パフォーマンスに関して、このプロパティを設定するときに何を探す必要がありますか? 何はともあれ、大量の行を更新するにはかなりの時間がかかります。私のマシン(またはDBサーバー)で実行するのにそれほど時間はかからないようですが、システムが他のアイテムを実行してロードされている場合、これは問題になる可能性があります。

プロファイラーで検索できるものはありますか? 標準的なプロファイリングを行うと、期間は通常 0 です。1 回または 2 回ヒットすることもあり (おそらく全体で 20 回)、約 20,000 回の更新のうち、3 ~ 4 回が 20 回ヒットします。CPU は、1 ~ 2 回ヒットしたカップルを除いて 0 です。 . 約 10 になる 2 つのレコードがあります。読み取りは常に 2 で、書き込みは常に 0 です。

4

1 に答える 1

2

まず、この設定を構成可能にして、コンパイルせずにさまざまな値をテストできるようにします。次に、バッチ全体の期間を監視します。パフォーマンスに満足している場合は、変更しないでください。パフォーマンスに不満がある場合は、設定を増減して動作を確認してください。

于 2009-04-14T01:26:25.053 に答える