1

ほとんどのデータ駆動型システムに同じ問題があると私は確かにパフォーマンスの問題があります。時には自動的にそれは本当にゆっくりと実行するようになり、悪い計画、とのシステムに再コンパイルを取得ストアドプロシージャのパフォーマンス監視用のSQLスクリプトを生成したい

  1. ストアドプロシージャ:

    は現在、彼らは基本的に、私は単一のソリューションを解決することができると思う2カテゴリに分類されます。この理由は、最初に再コンパイルされるパラメータのセットが代表/正常/最適ではないためです。これにより、ストアドプロシージャが実際にゆっくり実行され、より良いプランを選択するために再コンパイルする必要があります。

  2. システムのさまざまな部分がテーブルとして成長するため、SQL Serverの動作の動的性質違っそれを照会 -

など、インデックスは変更する必要があるか、コードの変更はORのようなサブ最適なコーディングを、除去する必要がある、条件の関数、ストアドのコストを追跡するすべてのシステムテーブルがあります手続き?

1週間(7日間)ごとに1時間ごとに実行するスクリプトを作成する必要があります。実行時間、ストアドプロシージャのコストなどのストアドプロシージャのデータを保持する必要があります。 。このことから、非常に最悪の状態で実行されているストアドプロシージャのリストを特定し、長時間実行し、ストアドプロシージャのリストを生成することができます。これにより、これらのストアドプロシージャのチューニングを実行してパフォーマンスを向上させることができます。

+0

? – SqlZim

+0

悪い実行計画で再コンパイルされるspの例? –

+1

あなたのSPが遅く実行されている場合は、悪い計画を持つクエリを特定し、それに 'OPTION(RECOMPILE) 'を追加してください。これは開発中に予期されるべきである - 。例えばパラメータに依存する場合や、SPが作成(およびコンパイル)された時間と比較して時間の経過とともに統計を有意に変更するテーブルを使用する場合。 – Lucero

答えて

関連する問題