への接続を正しく使用するには、このデータベースとデータベース
実行検索クエリに接続する100人のユーザーがありますが、私はSQL Serverに2008
を結ぶWinformsのプログラムを持っているものですデータベース。
プログラムの開始時に接続を開き、プログラムの終了時に接続を終了します。
これは正しいことですか?
接続 - >クエリ - >アップデート - >を開き、接続を閉じる方が良いですか? > 実行クエリ - - >更新 - >と近い 接続事前に
おかげ
への接続を正しく使用するには、このデータベースとデータベース
実行検索クエリに接続する100人のユーザーがありますが、私はSQL Serverに2008
を結ぶWinformsのプログラムを持っているものですデータベース。
プログラムの開始時に接続を開き、プログラムの終了時に接続を終了します。
これは正しいことですか?
接続 - >クエリ - >アップデート - >を開き、接続を閉じる方が良いですか? > 実行クエリ - - >更新 - >と近い 接続事前に
おかげ
は、接続をオープンする方が良いでしょうか?
はい、SQL Serverは既に接続とpooling is handled by ADO.Netを最適化しています。接続を開いて、目的のものを取得して閉じます。残りの部分をSQLで管理します。
MSDN(上記のソース)から:
私たちは強くあなたは常に が 接続が プールに戻されますように、あなたが がそれを使用して終了し、接続を終了することをお勧めします。
これは非常に古い質問です。これは何年も前に答えられたと思います。
常に接続を開始する - > SQLを実行 - >閉じる。
接続プーリング接続の開閉費用が心配です。同じ接続文字列を使用し続けている場合(統合セキュリティ)、新しい接続を開くことはめったになく、既存の接続を再開することはほとんどありません。
データベース接続を開いたままにしておくと、そのタスクに必要なメモリが大量に確保されます。したがって、パフォーマンスが影響を受ける可能性があります。さらに、プログラムに重大なエラーがあり、途中で終了すると、その接続が自動的に解放されないことがあります。