小编典典

大表中的行数

sql

SELECT COUNT(*) FROM BigTable_1

如果我的行数超过10亿,应该使用哪种方式获取表中的行数?

更新:例如,如果上面的查询存在“超时问题”,是否有任何方法可以对其进行优化?如何更快地做到这一点?


阅读 156

收藏
2021-04-28

共1个答案

小编典典

如果需要准确的计数,则必须使用 COUNT (*)

如果您可以粗略计算,则可以使用分区中的行总和

SELECT SUM (Rows)
FROM sys.partitions
WHERE 1=1
And index_id IN (0, 1)
And OBJECT_ID = OBJECT_ID('Database.schema.Table');

如果您想对自己的内容感到有趣COUNT,可以执行以下操作

select COUNT (1/0) from BigTable_1
2021-04-28