sql中count(*)和count(1)之间有什么区别?

时间:2015-01-06 04:47:49

标签: sql sql-server-2008-r2

大家好,我是SQL的新手? SQL中的count(*)和count(1)之间有什么区别?

谢谢

1 个答案:

答案 0 :(得分:3)

没有区别。

Select Count(*) from TableName
Select Count(1) from TableName

与Count()相比,Count(1)表现得更好,这是非常普遍的看法,但事实并非如此。如果通过查看执行计划进行测试,您将看到命令和正在扫描的行数相同的操作。计数()的CPU使用时间可能略有不同,但与count(1)几乎相同。这种混淆通常是因为在某些RDBMS产品的旧版本中,Oracle在select count(*)和count(1)方面的性能存在差异,但最近的版本没有任何区别。

参考: http://www.sqlserverf1.com/difference-between-select-count-and-count1-in-sql-server/

Count(*) vs Count(1)