码迷,mamicode.com
首页 > 数据库 > 详细

MySQL的count聚合函数小测试

时间:2019-10-26 13:32:46      阅读:108      评论:0      收藏:0      [点我收藏+]

标签:alt   手册   article   字段   mysql   html   tail   批量   索引   

表是这样,从https://blog.csdn.net/wcnmlgb888/article/details/82712752这篇批量插入mysql数据这拿来的,然后添加了个可以为空的xxx字段,把id主键清掉了,表里50万数据。

技术图片

 

 

 

现在没有主键,count(id)、count(*)和count(1)比较

技术图片

 

 技术图片

 

 技术图片

 

 几乎三者没有差别,https://www.cnblogs.com/aflyun/p/10982377.html这篇里说如果字段不为null,那么count(字段)会自动优化为count(*),官方手册中提出count(*)和count(1)是等价的。

所以说,只要字段不为null,怎么用都是count(*)

根据可以为空的字段xxx查询

技术图片

可以看到速度变慢了,中途还有几个波动比较大的0.27 0.25

虽然并没有太多比较性,但是还是需要尽量避免字段为空。

 

现在给id加上主键索引。

技术图片

 

 再次比较count(id)、count(*)和count(1)

技术图片

 

 技术图片

 

 技术图片

 

 再来一个用可以为空的xxx字段查询的

技术图片

 

 

总结:有无索引根据非空字段查询都最慢,有索引快过无索引,总之,一般情况一直用count(*)就好。

 

MySQL的count聚合函数小测试

标签:alt   手册   article   字段   mysql   html   tail   批量   索引   

原文地址:https://www.cnblogs.com/darkclouds/p/11742842.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!