2013-10-07 9 views
9

SQL接続プールの場合、最小プールサイズを設定する必要があるのはなぜですか?接続が接続プールに保存され、再利用されると、なぜ最小プール・サイズで指定されたライブ接続を維持する必要がありますか?ありがとう。ConnectionStringにMin pool sizeを設定する必要がある理由

+0

なぜあなたは_必須ですか?あなたが最小サイズを指定しない場合、それは0です。 –

+0

@TimSchmelter私は彼が何が必要なのかを知りたいと思うでしょうか?これを持つ目的はありますか? – Ehsan

+0

@TimSchmelterはい私の質問は、最小プールサイズを持つ目的は何ですか。 – Helic

答えて

12

接続のオープンと維持にはコストがかかるため、複数の接続(常に)が必要な場合は、MinPoolSizeを指定する方が適切です。これらの接続が使用可能であることが保証されているからです。 MSDNからまた

MinPoolSize接続文字列で指定されていないか、または ゼロとして指定された場合、プール内の接続は、非アクティブの 期間の後に閉じられます。ただし、指定されたMinPoolSizeが0より大きい より大きい場合、接続プールは、AppDomainが でアンロードされ、プロセスが終了するまで破棄されず、プロセスはで終了します。非アクティブまたは空のプールのメンテナンス には、システムのオーバーヘッドが最小限に抑えられます。

+0

ありがとうTim!どうやってこれを見つけましたか?私はウェブ上の多くの場所を検索しましたが、この素晴らしい仕様は見つかりませんでした。 – Helic

+1

私はMSDNのページを見て、 'MinPoolSize'を探しました。 –

3

は、なぜあなたは、接続の作成は、リソース集約型の仕事であることを知っているかもしれませんが、我々は分のプールサイズ

で指定されたライブ接続を維持する必要があります。したがって、アプリケーションを何時間もアイドル状態にしても一貫した応答時間が必要な場合は、この値を5などの小さな値に設定することを選択できます。この場合、最初のユーザー要求は、確立するためにそれらのデータベース接続を待つ必要はありません。あなたはプールの詳細を読むことができますhere

+3

ありがとうございます。したがって、接続プーリングを有効にして、最小プールサイズを0にすると、接続はしばらくしてから再利用できますが、長期間は終了します。最小プールサイズを5に設定すると、少なくとも5つの接続が永続的に開かれますか?私は正しい?ありがとう – Helic

+0

はい、あなたは正しいです。 – Ehsan

関連する問題