Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在SQL Server中,如何在不进行计数的情况下查找表中的行数?_Sql_Sql Server_Sql Server 2008 R2 - Fatal编程技术网

在SQL Server中,如何在不进行计数的情况下查找表中的行数?

在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

我正在使用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('punch')

Sql有这样一个功能

sp_spaceused <Tablename>;
sp_空间使用;

Sql有一个函数可以实现这一点

sp_spaceused <Tablename>;
sp_空间使用;


为什么您不想使用
count
?@vkp
count
花费了很多时间。我运行了它,但8分钟后它仍然没有完成,所以我杀了它。必须有另一种更简单的方法。是否有任何在
punch
上带有锁的事务可能会使您的查询被搁置?@BaconBits可能是锁的问题。这次我用
(nolock)
发布了
count
,并在2分钟内得到响应。为什么您不想使用
count
?@vkp
count
花费了很多时间。我运行了它,但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行,打孔的正确行数是多少?打孔的大小?我不明白。请解释。如果从“打孔”中选择“计数(*),则得到的行数不正确?有什么问题?还不够快吗?