ITエンジニアの成長ブログ

ITエンジニアとして行う勉強の発信&日々の生活で体験した楽しいことをゆるく発信

SQL Serverの統計情報は自動更新される?

SQL Serverで統計情報関連の情報をあさっていたところ、どうやらSQL Serverでは統計情報の自動更新という機能があるようでした。

自動更新自体は、データベースの設定によって決まるようです。
SSMSでその設定状況は、簡単に確認することができます。

[オブジェクトエクスプローラー]のデータベースを右クリック - 「プロパティ」で、ページの選択欄で「オプション」を選択する。
するとその設定項目の中に「自動」欄がありますが、そこの「統計の自動更新」が言葉通り、統計情報の自動更新の設定となるようです。
もちろん、"True"であれば統計情報は自動更新され、"False"であれば自動更新はされません。
※因みにデフォルトでは、自動更新される設定となっています

SSMSで統計情報の自動更新の設定状況を確認する

てっきり統計情報はユーザーが手動で更新するものとばかり思っていたので、他のRDBMSは知りませんがSQL Server便利だなぁと思いました。
ただし、自動更新に完全に任せっきりというわけにもいかないようです。

それについては、少々古い記事ですがMicrosoftのブログにそれについて言及したものがありました。
docs.microsoft.com

意訳すると、「統計情報の自動更新がONに設定されている場合でも、明示的に統計情報を更新する必要があることもある」とのことでした。

なので場合によっては、統計情報を手動で更新しないと古い統計情報を参照したクエリが急に遅くなってしまうこともありそうですね。
そのため、事前に手動で統計情報を更新するタイミングやその方法について確認しておく必要がありそうです。

今回は簡単ですがこれで終わります。
最後までお読みいただきありがとうございました。今回はこの辺で失礼いたします。