• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:SQLServerの同時接続)

SQLServerの同時接続による処理速度の低下について

このQ&Aのポイント
  • SQLServer2000で複数ユーザーが同時に実行すると、SELECTの結果を返すストアドプロシージャの処理速度が低下する現象が発生しています。
  • SELECT文が複雑で対象データの件数も多いため、並列実行できないサブクエリ単位の情報取得がお互いを妨げる状態になっている可能性があります。
  • SELECT時の共有ロックでは更新ロックではないため、複数ユーザーの同時実行には影響しないという認識は正しいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • Siegrune
  • ベストアンサー率35% (316/895)
回答No.1

Selectが メモリを大量に消費しているので 2個同時に実行したら実メモリが不足して仮想メモリを使ってしまうので遅くなるとか tempdbを大量に消費するので、消費したtempdbの中のオブジェクトを開放するまで次の処理 (サブクエリ等のおのおのの処理)が待ち状態になっているとか。 SQL Server2000の管理ツールとかがどんな内容を見ることをできたか覚えていませんので 調べる方法をアドバイスできませんが。 ためしにtempdbのサイズを大きくしてみるとか。 ・・・自動拡張する設定(ができたかどうかは覚えていませんが)になっていて、 自動拡張を何回も行っているなら、それも遅くなる原因になります。 参考:tempdb http://msdn.microsoft.com/ja-jp/library/ms190768.aspx この記載の中にある 「・・・以下のものを保持するために使用されます。 (中略) ・スプールまたは並べ替えのために中間結果を格納するための作業テーブルなど、SQL Server データベース エンジンが作成する内部オブジェクト。」 というので使っていそうです。 ## あてずっぽうですので、あまり期待しないで確認してみてください。

msntom
質問者

お礼

ご回答ありがとうございます。 その後の調査で同時実行時のスレッド数の枯渇が原因ではないかという結論に達し、自己解決いたしました。

すると、全ての回答が全文表示されます。

関連するQ&A