SELECT COUNT(*) FROM BigTable_1
如果我有超过 10 亿行,我应该使用哪种方式获取表中的行数?
更新:例如,如果上面的查询存在“超时问题”,是否有任何优化方法?如何更快地完成?
最佳答案
如果你需要一个精确的计数,你必须使用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
关于sql - 大表中的行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5747396/