COUNT(fld) 比 COUNT(*) 快吗?

Mar*_*ean 5 mysql sql

可能的重复:
MySQL 中的 COUNT(id) 与 COUNT(*)

简短而简单:在 MySQL 中,会比我理解的MySQL 中的“all”选择器SELECT COUNT(fld) AS count FROM tbl更快。SELECT COUNT(*) AS count FROM tbl*

是否COUNT(*)选择所有行来计算计数,从而使查询SELECT(id)更便宜?或者这并不重要?

Guf*_*ffa 7

不,比(在完全存在差异的情况下)count(*)更快。count(fld)

必须count(fld)考虑字段中的数据,因为它会计算所有非空值。

count(*)计算记录数,因此不需要访问数据。