全テーブルのデータ件数を一度に取得するクエリを書いてみた

ヒマだからtips書いた。全テーブルのデータ件数を一度に取得するクエリ。SQLServer2005以降はOKですよ。

select a.name, b.row_count 
from sys.tables a
left join sys.dm_db_partition_stats b
on a.object_id = b.object_id
order by a.object_id

これまではsp_MStablespaceを駆使したクエリが大半でしたが、先週MicrosoftセミナーであるTechEd2010に参加していい刺激をもらったので、動的管理ビューを使ってみました。
動的管理ビューを知らない人はぜひ知っておくべき!詳しくはこちら↓
チューニングに大変革をもたらす動的管理ビュー (1/2):Dr. K's SQL Serverチューニング研修 Part II(2) - @IT

あと、SQLServer2000以前の人はこちらのやり方でどうぞ。

オフロードな人生
SQLSERVER で、テーブル名とデータ件数を一発で取得するSQLって… - 人力検索はてな