2008-08-12 25 views
3
  • この意味は?
  • MS SQLとの接続プーリングを実装するにはどうすればよいですか?
    • は(すなわち、ストアドプロシージャを呼び出す30K +の反復でループを使用して)多くのクエリを一アフタ他を実行するときにパフォーマンスの波及効果は何ですか?
    • 長時間(10分以上)かかるクエリを実行していますか?
  • ベストプラクティスはありますか?

答えて

3

接続プーリングは、新しい接続の確立が遅いため、接続を再利用するためのメカニズムです。あなたはMSSQLの接続文字列を使用し、System.Data.SqlClientのは、あなたはすでにそれを使用している場合

- ネットでこのようなものは、ほとんどの時間ボンネットの下にあります。 30Kの反復

ループを使用すると、SPROC外の各ステップでやっていることに応じて、(T-SQLのカーソル文を調べる)、サーバー側カーソルとして良いかもしれません。

ロングクエリが細かいです - しかし、Asp.Netは本当に長い待機用に最適化されておらず、いくつかの接続を切り出しますよう、Webページからそれらを呼び出すように注意してください。

2

接続プーリングに関するもう少し詳しい情報... SqlClientですでに使用していますが、開いている新しい接続ごとに接続文字列が同じ場合にのみ使用できます。私の理解では、フレームワークは可能な限り自動的に接続をプールしますが、接続文字列がある接続から次の接続までわずかに変化する場合、新しい接続はプールから来ないでしょう - それは新たに作成されます(したがって、 )。

XP/Vistaでパフォーマンスモニタアプリケーションを使用してSQL接続を監視すると、プーリングが使用されているかどうかをかなりすぐに確認できます。パフォーマンスモニタで「.NET CLRデータ」カテゴリ」の下に見て

0

をI二キース;。あなた30,000回ストアドプロシージャを呼び出している場合、あなたは、接続プーリングよりもはるかに大きな問題を抱えている

-3

ご質問されました。また、部分的にthis threadで答えた。検索では、このことを明らかにしているだろう..私は思うだけのベストプラクティスを、残してGoogleは、最初のヒットがthisであると答えているだろうその接続プーリングの定義...

良い質問だったでしょう:)

+1〜Keith's Answer。彼は頭の上で釘を打ちました。

よくある質問からわずか丁寧リマインダー:

右...あなたは、あなたの質問を 前に、インターネットを検索した、とあなたは私たちがあなたの質問についての研究や情報 で武装 に来ますか?