COUNT(*)和COUNT(table.ColumnName)之间有什么区别?

nel*_*aed 3 sql database

COUNT(*)和COUNT(table.ColumnName)之间有什么区别?

我一直认为将列名作为参数更快COUNT,但现在当我想到它时我真的不知道因为这*意味着函数计算行数,所以可能没有任何区别?或者可能给出一个特定的列名称甚至会减慢进程?

ger*_*rmi 7

这两者之间的差异不是(主要)表现.他们算不同的事情:

COUNT(*) 计算表中的行数.

COUNT(column)计算列中的条目 - 忽略null值.

当然,这两者之间会有性能差异,但如果他们做了不同的事情,这是可以预期的.特别是当列允许使用null-values时,查询将比不使用(或COUNT(*))的列需要更长的时间.