都内で働くSEの技術的なひとりごと

都内でサラリーマンやってます。マイクロソフト系(たまに、OSS系などマイクロソフト以外の技術も...)の技術的なことについて書いています。日々の仕事の中で、気になったことを技術要素関係なく気まぐれに選んでいるので記事内容は開発言語、インフラ等ばらばらです。なお、当ブログで発信、発言は私個人のものであり、所属する組織、企業、団体等とは何のかかわりもございません。ブログの内容もきちんと検証して使用してください。よろしくお願いします♪

インデックスの統計内容について参照してみる

今回やることを説明してみる

 インデックスの統計情報を一覧でみたいので、クエリ作ってみます。

使用する環境を説明してみる

 My Lenovo with SQL Server 2014 です。

試してみる

 インデックス統計の情報を参照するために、sys.stats および sys.dm_db_stats_properties を使用してクエリを作成してみましょう。下記のクエリを SQL Server Management Studio で実行してみましょう。

SELECT [テーブル名] = t.name,
       [統計名] = s.name, 
       [統計の自動作成] = s.auto_created, 
       [NORECOMPUTEオプション] = s.no_recompute,
       [フィルター定義] = s.has_filter,
       [フィルター定義] = s.filter_definition,
       [行数] = sp.rows,
       [フィルター化されていない行数] = sp.unfiltered_rows,
       [ステップ数] = sp.steps,
       [サンプリング行数] = sp.rows_sampled,
       [統計情報最終更新日] = sp.last_updated
FROM sys.tables AS t 
INNER JOIN sys.stats AS s 
ON s.object_id = t.object_id
CROSS APPLY sys.dm_db_stats_properties(s.object_id, s.stats_id) AS sp 
ORDER BY t.name OPTION (RECOMPILE);

f:id:koogucc11:20150215163715p:plain

 クエリの内容を理解するには、過去の記事が参考になります。

終わりに何か言ってみる

 統計情報は内容をきちんと理解し、運用においてはシステム全体のパフォーマンスを維持するため、的確にメンテナンスする必要があります。うーん、最近忙しくてなかなか中身のある記事がかけませんねぇ...ゴールデンウイークくらいまではこんな状態が続きそうです。そろそろ、Linux 上で Solr とか触ってみたいんですが...

Pro Spatial With SQL Server 2012 (Expert's Voice in Databases)

Pro Spatial With SQL Server 2012 (Expert's Voice in Databases)