首頁  >  文章  >  資料庫  >  mysql下count(*)与count(column)区别性能对比

mysql下count(*)与count(column)区别性能对比

WBOY
WBOY原創
2016-06-07 17:53:091247瀏覽

本文章来给大家详细介绍mysql中count(*)和count(column)使用是有区别的,有需要了解的朋友可参考参考

count(*)对行的数目进行计算,包含NULL

count(column)对特定的列的值具有的行数进行计算,不包含NULL值。

count()还有一种使用方式,count(1)这个用法和count(*)的结果是一样的。


关于他们的性能问题

1.任何情况下SELECT COUNT(*) FROM tablename是最优选择;
2.尽量减少SELECT COUNT(*) FROM tablename WHERE COL = ‘value’ 这种查询;
3.杜绝SELECT COUNT(COL) FROM tablename WHERE COL2 = ‘value’ 的出现。

如果表没有主键,那么count(1)比count(*)快。
如果有主键,那么count(主键,联合主键)比count(*)快。
如果表只有一个字段,count(*)最快。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn