SQL Serverが遅くなった? まずこれを試せ!

2020年9月24日木曜日

SQL Server

t f B! P L

突如、SQL Serverが遅くなった… 今まで、一瞬で応答が返ってきていたSQLが、数十秒かかるようになった…

このように、SQL Serverを使っていると、突如として遅くなり性能問題になることがあります。性能劣化が発生する要因は多岐にわたるため、コレっていう解決方法がありませんが、今回は比較的よく発生する統計情報と、実行計画のキャッシュに起因する問題の対策方法を紹介します。

統計情報の再取得

SQL Serverでは、テーブルのデータ件数やデータのカーディナリティの情報など、統計情報としてテーブルデータの情報を持っています。

この統計情報が実際にテーブルに入っているデータと大きく違っていると、SQLの実行計画を立てる時に、非効率なアクセスパスになることがあり、結果的に性能劣化に繋がります。

統計情報は、次のSQLで更新することができ、更新することで最適な実行計画になり、性能問題が改善することがあります。

■ テーブル指定で統計情報を更新する場合

UPDATE STATISTICS <テーブル名>

■ データベース全体の統計情報を更新する場合

sp_updatestats 

スポンサーリンク

実行計画のキャッシュをクリア

・ インスタンス単位で実行計画のキャッシュをクリア

DBCC FREEPROCCACHE;
スポンサーリンク

QooQ