- - PR -
ストアドのDB再起動後のレスポンス
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-02-05 15:28
毎晩、夜間バッチでDBのバックアップを取るためにSQL Serverを一旦停止
させて、バックアップ終了後に再起動させてます。 それが原因かは不明ですが、各々のストアドのその日の最初の実行が異常に遅いです。ストアドの修正は行ってないのですが、最初の実行時に再コンパイルをしているのでしょうか?それとも他に原因があるのでしょうか。 対処方法などお分かりの方いらしたらご教授ください。 [ メッセージ編集済み 編集者: R246 編集日時 2007-02-05 17:48 ] | ||||
|
投稿日時: 2007-02-05 18:38
お疲れ様です。 TimberLandChapel です。 再起動後には,クエリプランの再評価のためにリコンパイルが自動で入ります。 バージョンが 2000 か 2005 かわかりませんが,ひとまず 2005 ストアド プロシージャの再コンパイル http://msdn2.microsoft.com/ja-jp/library/ms190439.aspx しかし,これがパフォーマンスダウンに影響しているかどうかは パフォーマンスモニタで評価しないとなんとも言えないと思います。 (とくに 2005 では,ステートメントレベルのリコンパイルになっていますし) Compilations や Cache まわりのトークンを監視して, 何に時間がかかっているのか,を調べる必要がありますね。 一方,メンテナンスタスクの一部として,何も考えずにストアドプロシージャをコールしてしまうというのもありますが。。。 いずれにせよ,チューニングのお話ですので, 要件に依存して話が変わると思います。 ---------- TimberLandChapel 2007.01.27 書籍発売 http://blogs.timberlandchapel.com/blogs/timberlandchapel/archive/2007/02/03/1216.aspx Microsoft MVP for Windows Server System - SQL Server (Jul 2005 - Jun 2007) http://blogs.timberlandchapel.com/blogs/timberlandchapel/ | ||||
|
投稿日時: 2007-02-06 08:53
アドバイスありがとうございます。
バージョンは2000です。 以前にいた会社で開発していた時も客先でデモを行う前に一通りの画面を開いてから 行っていました。全てのストアドにおいて、最初に実行する時に倍以上の時間がかか ります。 みなさんはこのような現象は起こっていないのでしょうか? | ||||
|
投稿日時: 2007-02-09 02:05
こんばんわ。
バージョンが2000ということで、以下を参照して対策なさってはいかがでしょうか。 ストアド プロシージャの再コンパイルのトラブルシューティング http://support.microsoft.com/kb/243586/ja | ||||
|
投稿日時: 2007-02-09 10:41
MeijiKさん、アドバイスありがとうございました。
貴重な情報のリンクを参考にさせていただきます。 | ||||
|
投稿日時: 2007-02-09 13:06
よくよく調べたら、ストアドでなく、クエリが遅いことが判りました。
http://support.microsoft.com/kb/815249/ 上記はSP3での事象ですが、使用している環境はSP4です。 タイトルと内容が変わってしまいましたが、対応方法等ご存知の方、教えてください。 | ||||
|
投稿日時: 2007-02-11 09:32
どう調べてストアドではなくクエリが遅いことがわかったのですか? また、上記のURLはSP4では改修されたとあるので、本当にSP4ならば大丈夫なはずですよ。 | ||||
|
投稿日時: 2007-02-11 16:03
最初はキャッシュが空っぽなため遅いだけではないでしょうか。あるいはキャッシュに限らずプーリングなどさまざまなものがありますが。DBMS に限らず、コンピューターは最初はなんでも遅いものです。(メモリーリークなどバグっぽいものだと、逆に、最初は速くてだんだん遅くなるというのもありますが。) 「倍以上」というのが微妙なところですが、2倍程度ならありがちなような気もします。 -- unibon {B73D0144-CD2A-11DA-8E06-0050DA15BC86} |