0

私は VB.NET Windows アプリケーション開発の初心者です。今、私はすでに開発されたアプリケーションを参照しています。私の参照プロジェクトでは、すべてのデータ更新は DataAdapter を使用しており、最初にアダプターにデータをロードしてから、アダプターを更新する新しい行を作成しています。したがって、このメソッドは最初にデータをフェッチしてからデータを更新します。直接 SQL コマンドを使用している場合、データベースの挿入/更新ステートメントは 1 つだけです。これら 2 つの方法の間に重大な影響はありますか?

4

2 に答える 2

1

これら 2 つの方法の間に重大な影響はありますか?

これは非常に一般的な質問なので、一般的な答えは「場合によります...」です。DataAdapter の作成と入力のオーバーヘッドには、いくらかのコストがかかります、それがかなりのコストになるかどうかは、次のような要因によって異なります...

  • 更新しているテーブルのデータ量

  • DataAdapter に取り込む情報の量

  • データベース ファイルがローカル ドライブ上にあるかネットワーク共有上にあるか

...そして(おそらく)他の多くの要因。特定の状況で 2 つのアプローチに大きなパフォーマンスの違いがあるかどうかを知る唯一の方法は、いくつかのテストを実行して結果を比較することです。

于 2013-09-05T13:59:24.587 に答える
0

私の知る限り、後者のオプションは全体的に高速です。DataAdapter は、必要な更新を行う前に、データのクエリを提案してメモリにロードします。ただし、行が変更されたかどうかに関係なく、DataAdapter がすべての行を更新した場合は、非常に驚​​かれることでしょう。必要な SQL のみが DBMS に送信されることを期待する必要があります。

SqlCommand を介して update ステートメントを実行すると、データのクエリとロードが回避され、クエリに依存すると、おそらく同じ方法で DB 自体が更新されます。

この 2 つの間の決定は、完全にコンテキストに依存します。

于 2013-09-05T14:00:16.090 に答える