問題タブ [sp-reset-connection]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
121053 参照

sql-server - SQL Server Profiler で「exec sp_reset_connection」とはどういう意味ですか?

「sp_reset_connection」を発行して、Sql Profiler が何を意味するのかを理解しようとしています。

次の「exec sp_reset_connection」行に続いて、BatchStarting と Completed があります。

基本的に、最初の行「exec sp_reset_connection」は、プロセス全体(接続が開かれ、選択stmtが実行され、接続が閉じられ、プールに解放される)が行われることを意味しますか? または、私の接続はまだオープン段階にあります。

そして、sp_reset_connection が自分の select ステートメントの前に実行されるのはなぜですか? リセットはユーザーの sql の後に来るべきではありませんか?

接続がいつ開かれ、いつ閉じられるかをより詳細に知る方法はありますか?

「exec sp_reset_connection」と表示されているということは、接続が閉じられているということですか?

0 投票する
4 に答える
3029 参照

c# - C# 接続プーリングの sp_resetconnections が非常に多いのはなぜですか?

MS SQL Server 2005 データベースに対して多くの呼び出しを行う C# でコーディングされた Web サービスがあります。コードは、C# の接続プーリングと組み合わせた Using ブロックを使用します。

SQL トレース中に、"sp_resetconnection" への非常に多くの呼び出しが確認されました。これらのほとんどは 0.5 秒未満の短いものですが、場合によっては 9 秒もの通話が続くことがあります。

私が読んだことから、sp_resetconnectionは接続プールに関連しており、基本的に開いている接続の状態をリセットします。私の質問:

  • 開いている接続の状態をリセットする必要があるのはなぜですか?
  • なぜこれほど多くの電話がかかってくるのでしょう!
  • sp_reset 接続の呼び出しに時間がかかる原因は何ですか。

これは私にとってかなりの謎であり、すべての助けに感謝します!

0 投票する
4 に答える
16827 参照

sql-server - パフォーマンスを向上させるために sp_reset_connection の呼び出しを停止できますか?

私のプロファイラ トレースは、exec sp_reset_connectionすべての SQL バッチまたはプロシージャ コールの間に呼び出されていることを示しています。それには理由がありますが、パフォーマンスを向上させるために不要であると確信している場合、呼び出されないようにすることはできますか?

更新: これによりパフォーマンスが向上すると考える理由は 2 つあります。

  1. SQL Server は接続状態をリセットする必要はありません。これは比較的無視できる改善だと思います。
  2. exec sp_reset_connectionクライアントが を送信し、応答を待ってから、実際に実行したい SQLを送信する必要がないため、ネットワーク レイテンシが短縮されます。

2 番目の利点は、私が興味を持っているものです。私のアーキテクチャでは、クライアントがデータベースから離れていることがあるためです。すべての SQL バッチまたは rpc で 2 回のラウンドトリップが必要な場合、ネットワーク遅延の影響が 2 倍になります。このような二重呼び出しをなくすと、パフォーマンスが向上する可能性があります。

はい、アプリの再構築など、パフォーマンスを改善するためにできることは他にもたくさんあります。私は問題の根本原因を解決することが大好きですが、この場合、sp_reset_connection を防ぐことができるかどうかを知りたいだけです。呼ばれること。次に、パフォーマンスの向上があるかどうかをテストし、これを呼び出さない場合のリスクを適切に評価できます。

これにより、別の質問が生じます。sp_reset_connection を使用したネットワーク通信は、上で概説したように本当に発生するのでしょうか? つまり、クライアントは を送信exec sp_reset_connectionし、応答を待ってから、実際の SQL を送信しますか? それとも、すべて 1 つのチャンクにまとめますか?

0 投票する
2 に答える
292 参照

java - SQL Server sp_resetconnection機能用のjava.sql.Connectionクラスの同等の関数はありますか?

java.sql.Connectionの単純な接続プールを想像してみてください。接続が解放されてプールに戻された後、トランザクションが開いているかどうか、一時テーブルが作成されているかどうかなどはわかりません。

getAutoCommit()がfalseかどうかを手動でチェックしてから、ロールバックする必要があるかどうかを確認したり、rollback()を呼び出したりするのではなく、SQLサーバーのsp_resetconnectionストアドプロシージャと同様のことを行うreset()関数があることを期待していました。 DBMSに依存しません。ただし、ConnectionのAPIを見ると、そうではないようです。

そのような機能はありますか?