在SQL Server中,如何在不进行计数的情况下查找表中的行数?
我正在使用SQLServer2008R2 我有一个名为punch的表,有很多行。我想知道此表中的行数,但不进行在SQL Server中,如何在不进行计数的情况下查找表中的行数?,sql,sql-server,sql-server-2008-r2,Sql,Sql Server,Sql Server 2008 R2,我正在使用SQLServer2008R2 我有一个名为punch的表,有很多行。我想知道此表中的行数,但不进行计数。可能吗?如果是,那怎么办 谢谢这里有一种方法 select row_count from sys.dm_db_partition_stats where object_id = object_id('punch') 这里有一个方法 select row_count from sys.dm_db_partition_stats where object_id = object_id
计数
。可能吗?如果是,那怎么办
谢谢这里有一种方法
select row_count
from sys.dm_db_partition_stats
where object_id = object_id('punch')
这里有一个方法
select row_count
from sys.dm_db_partition_stats
where object_id = object_id('punch')
Sql有这样一个功能
sp_spaceused <Tablename>;
sp_空间使用;
Sql有一个函数可以实现这一点
sp_spaceused <Tablename>;
sp_空间使用;
为什么您不想使用
count
?@vkpcount
花费了很多时间。我运行了它,但8分钟后它仍然没有完成,所以我杀了它。必须有另一种更简单的方法。是否有任何在punch
上带有锁的事务可能会使您的查询被搁置?@BaconBits可能是锁的问题。这次我用(nolock)
发布了count
,并在2分钟内得到响应。为什么您不想使用count
?@vkpcount
花费了很多时间。我运行了它,但8分钟后它仍然没有完成,所以我杀了它。必须有另一种更简单的方法。是否有任何在punch
上带有锁的事务可能会使您的查询被搁置?@BaconBits可能是锁的问题。这次我用(nolock)
发出了count
,并在2分钟内得到响应这给了我9行。我是否需要将这9行中的所有值相加才能知道该表中的行总数?是的,该视图提供了表中每个分区的行数。文件中已经非常清楚地说明了这一点。我得到的值是72215111、131922313、204137424、72215111、131922313、72215111、131922313、72215111、131922313、72215111、131922313。如果我把它们加起来,总数是1020687120。这应该用正确的索引过滤。这给了我9行。我是否需要将这9行中的所有值相加才能知道该表中的行总数?是的,该视图提供了表中每个分区的行数。文件中已经非常清楚地说明了这一点。我得到的值是72215111、131922313、204137424、72215111、131922313、72215111、131922313、72215111、131922313、72215111、131922313。如果我把它们加起来,总数是1020687120。这应该由正确的索引过滤。这告诉我打孔表中的204137424行,打孔的正确行数是多少?打孔的大小?我不明白。请解释。如果从“打孔”中选择“计数(*),则得到的行数不正确?有什么问题?还不够快吗?这告诉我打孔表中的204137424行,打孔的正确行数是多少?打孔的大小?我不明白。请解释。如果从“打孔”中选择“计数(*),则得到的行数不正确?有什么问题?还不够快吗?