在数据库中,COUNT()
函数用于计算表中行的数量。然而,COUNT(1)
、COUNT(*)
和 COUNT(column)
在具体的实现和性能上存在一些细微的差异。
-
COUNT(1)
:COUNT(1)
是一种常用的写法,它实际上计算的是行的数量,而不考虑特定的列。- 由于
1
是常量,不涉及对列的操作,数据库引擎会更快地执行。 - 这是一种通用的写法,适用于大多数数据库系统。
COUNT(*)
:
COUNT(*)
与COUNT(1)
类似,也是计算所有行的数量。
- 一些数据库优化器可能会将
COUNT(*)
优化为COUNT(1)
,因为它们实际上是等效的。3COUNT(column)
:
COUNT(column)
是计算指定列中非 NULL 值的数量。- 如果指定的列包含 NULL 值,那么
COUNT(column)
将不包括这些 NULL 值。