2010-11-26 10 views
3

への接続を正しく使用するには、このデータベースとデータベース

実行検索クエリに接続する100人のユーザーがありますが、私はSQL Serverに2008

を結ぶWinformsのプログラムを持っているものですデータベース。

プログラムの開始時に接続を開き、プログラムの終了時に接続を終了します。

これは正しいことですか?

接続 - >クエリ - >アップデート - >を開き、接続を閉じる方が良いですか? > 実行クエリ - - >更新 - >と近い 接続事前に

おかげ

答えて

4

は、接続をオープンする方が良いでしょうか?

はい、SQL Serverは既に接続とpooling is handled by ADO.Netを最適化しています。接続を開いて、目的のものを取得して閉じます。残りの部分をSQLで管理します。

MSDN(上記のソース)から:

私たちは強くあなたは常に が 接続が プールに戻されますように、あなたが がそれを使用して終了し、接続を終了することをお勧めします。

4

これは非常に古い質問です。これは何年も前に答えられたと思います。

常に接続を開始する - > SQLを実行 - >閉じる。

接続プーリング接続の開閉費用が心配です。同じ接続文字列を使用し続けている場合(統合セキュリティ)、新しい接続を開くことはめったになく、既存の接続を再開することはほとんどありません。

0

データベース接続を開いたままにしておくと、そのタスクに必要なメモリが大量に確保されます。したがって、パフォーマンスが影響を受ける可能性があります。さらに、プログラムに重大なエラーがあり、途中で終了すると、その接続が自動的に解放されないことがあります。