何时使用Count(PK_ID)以及何时使用系统表?

时间:2011-05-24 06:53:26

标签: sql sql-server

我们可以使用count(<column_name>)或系统表来获取表中的行数。 然后在哪里使用哪一个?

由于 德维

3 个答案:

答案 0 :(得分:3)

当(快速)近似行数可接受时,使用系统表/平面估计值。这要求表格统计数据相当准确。

答案 1 :(得分:1)

COUNT(*)(没有任何WHERE条件)开始花费超过10秒时,那时我通常会取消查询,并从此开始使用系统表。显然,如果有WHERE个条件,那么您只能通过COUNT(*)(或COUNT(<column>)

获得答案

一旦表格足够大以至于COUNT(*)表现不佳,您通常不需要确切的答案。

答案 2 :(得分:0)

只要您需要的是任何一个表的行数,就使用COUNT()。仅当您需要除行数以外的更多信息(例如使用的空间和不使用的空间)时才使用系统表。