突如、SQL Serverが遅くなった… 今まで、一瞬で応答が返ってきていたSQLが、数十秒かかるようになった…
このように、SQL Serverを使っていると、突如として遅くなり性能問題になることがあります。性能劣化が発生する要因は多岐にわたるため、コレっていう解決方法がありませんが、今回は比較的よく発生する統計情報と、実行計画のキャッシュに起因する問題の対策方法を紹介します。
スポンサーリンク
統計情報の再取得
SQL Serverでは、テーブルのデータ件数やデータのカーディナリティの情報など、統計情報としてテーブルデータの情報を持っています。
この統計情報が実際にテーブルに入っているデータと大きく違っていると、SQLの実行計画を立てる時に、非効率なアクセスパスになることがあり、結果的に性能劣化に繋がります。
統計情報は、次のSQLで更新することができ、更新することで最適な実行計画になり、性能問題が改善することがあります。
■ テーブル指定で統計情報を更新する場合
UPDATE STATISTICS <テーブル名>
■ データベース全体の統計情報を更新する場合
sp_updatestats
スポンサーリンク
実行計画のキャッシュをクリア
・ インスタンス単位で実行計画のキャッシュをクリア
DBCC FREEPROCCACHE;
0 件のコメント:
コメントを投稿