SQL001 SQL Serverでレコード件数を調べる方法
1,count関数
件数が膨大なテーブルに対して実行した場合、結果が返ってくるまでに時間がかかります。
SELECT
count(*) as [行数]
FROM
[テーブル名]
2,sp_spaceused
システム ストアド プロシージャのsp_spaceusedを使ってレコード数を取得できます。
EXEC sp_spaceused [テーブル名]
3,sys.partitions
システム カタログ ビューを使用して、データベース内の全テーブルの行の概数を取得できます。
SELECT
obj.name as [テーブル名]
,sum(par.rows) as [行の概数]
FROM
sys.objects as obj
INNER JOIN
sys.partitions as par
ON obj.object_id = par.object_id
WHERE
obj.type = 'U'
and par.index_id < 2
GROUP BY
obj.name
ORDER BY
obj.name
テーブルがパーティション分割されている場合、パーティションごとの行の概数も取得できます。
SELECT
obj.name as [テーブル名]
,par.partition_number as [パーティション番号]
,par.rows as [行の概数]
FROM
sys.objects as obj
INNER JOIN
sys.partitions as par
ON obj.object_id = par.object_id
WHERE
obj.type = 'U'
and par.index_id < 2
ORDER BY
obj.name
,par.partition_number
4,sys.sysindexes
使用して行数を取得もできますが、sys.sysindexesは将来サポートされなくなるようです。
SELECT
obj.name as [テーブル名]
,ind.rows as [行数]
FROM
sys.objects as obj
INNER JOIN
sys.sysindexes as ind
ON obj.object_id = ind.id
WHERE
obj.type = 'U'
and ind.indid < 2
ORDER BY
obj.name
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构