統計が最後に実行された日時を確認するにはどうすればよいですか?


9

最近、私たちのDBAチームが統計が最近実行されなかったことが原因であるとインデックスについて多くの問題を抱えています。これにより、SQL Management Studioを介して統計情報が最近更新されたかどうかを確認するにはどうすればよいですか。

この質問がこれをうまく説明していない場合はお詫び申し上げます。私はこれまで統計について紹介されてきただけで、以前はパフォーマンス関連の問題が発生するたびにインデックスを調べていました。

編集

以下を使用していますが、構文エラーが表示されます。

use *databasename*
exec sp_autostats *schema.tablename*

私が受け取っているエラーは:

Msg 102, Level 15, State 1, Line 2
Incorrect syntax near '.'.

どうしてこれなの?

回答:


12

編集の場合 -テーブル名を一重引用符で囲む必要があります。

EXEC sp_autostats 'tablename'

そして元の質問について

まず、確認したい統計を見つけます。

統計を選択

次に、そのプロパティを確認すると、最後に更新されたタイムスタンプが表示されます。

ここに画像の説明を入力してください

または、次のクエリを実行することもできます。

SELECT t.name TableName, s.[name] StatName, STATS_DATE(t.object_id,s.[stats_id]) LastUpdated 
FROM sys.[stats] AS s
JOIN sys.[tables] AS t
    ON [s].[object_id] = [t].[object_id]
WHERE t.type = 'u'

9

統計に関する情報を取得する最良の方法は、コマンドを使用することです

DBCC SHOW_STATISTICS (<tablename>,<indexname>)

これにより、統計がいつ更新されたかだけでなく、サイズ、密度、選択度、およびデータの分布を示すヒストグラムに関する情報が返されます。以上のことから、これらの統計が最新で有効かどうかを判断できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.