首页 > 数据库 > MySQL > 正文

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

2020-10-08 19:47:27
字体:
来源:转载
供稿:网友

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(*)最快.

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表