我应该使用select count(*) from XXX
还是select count(a, b, c.., z) from XXX
?
在计算查询中的行数时,哪一行更快(如果它们有任何差异)?
答案 0 :(得分:7)
实际上他们是不同的。例如,如果a
具有NULL值,则只会获得a
不为空的记录数。所以你应该使用slect count(*)来计算查询中的行数
答案 1 :(得分:4)
好的lcount(a,b,c,d)会在大多数数据库上产生语法错误, 你需要数(a),数(b),数(c),数(d)。
如果要计算行数而不是使用count(*)。
如果要计算特定列的非空值的行数,则计算(col)。
答案 2 :(得分:2)
因为COUNT(*)
oracle会计算行数,而COUNT(field)
会计算field
NOT NULL
中{0}}的值。这显然比较慢。