pc网站如何转为手机版,网站广告如何做,在线教育网站开发时长,蛋糕店的网页设计素材作者 | BigoSprite来源 | 39sd.cn/0926A先看执行效果#xff1a;1. count(1) and count(*)当表的数据量大些时#xff0c;对表作分析之后#xff0c;使用count(1)还要比使用count(*)用时多了#xff01; 从执行计划来看#xff0c;count(1)和count(*)的效果是一样的。但是… 作者 | BigoSprite来源 | 39sd.cn/0926A先看执行效果1. count(1) and count(*)当表的数据量大些时对表作分析之后使用count(1)还要比使用count(*)用时多了 从执行计划来看count(1)和count(*)的效果是一样的。但是在表做过分析之后count(1)会比count(*)的用时少些1w以内数据量不过差不了多少。 如果count(1)是聚索引,id,那肯定是count(1)快。但是差的很小的。 因为count(*),自动会优化指定到那一个字段。所以没必要去count(1)用count(*)sql会帮你完成优化的 因此count(1)和count(*)基本没有差别 2. count(1) and count(字段)两者的主要区别是count(1) 会统计表中的所有的记录数包含字段为null 的记录。count(字段) 会统计该字段在表中出现的次数忽略字段为null 的情况。即不统计字段为null 的记录。 count(*) 和 count(1)和count(列名)区别 执行效果上 count(*)包括了所有的列相当于行数在统计结果的时候不会忽略列值为NULL count(1)包括了忽略所有列用1代表代码行在统计结果的时候不会忽略列值为NULL count(列名)只包括列名那一列在统计结果的时候会忽略列值为空这里的空不是只空字符串或者0而是表示null的计数即某个字段值为NULL时不统计。执行效率上 列名为主键count(列名)会比count(1)快 列名不为主键count(1)会比count(列名)快 如果表多个列并且没有主键则 count1 的执行效率优于 count* 如果有主键则 select count主键的执行效率是最优的 如果表只有一个字段则 select count*最优。实例分析mysql create table counttest(name char(1), age char(2));
Query OK, 0 rows affected (0.03 sec)mysql insert into counttest values- (a, 14),(a, 15), (a, 15),- (b, NULL), (b, 16),- (c, 17),- (d, null),-(e, );
Query OK, 8 rows affected (0.01 sec)
Records: 8 Duplicates: 0 Warnings: 0mysql select * from counttest;
------------
| name | age |
------------
| a | 14 |
| a | 15 |
| a | 15 |
| b | NULL |
| b | 16 |
| c | 17 |
| d | NULL |
| e | |
------------
8 rows in set (0.00 sec)
mysql select name, count(name), count(1), count(*), count(age), count(distinct(age))- from counttest- group by name;
-------------------------------------------------------------------------
| name | count(name) | count(1) | count(*) | count(age) | count(distinct(age)) |
-------------------------------------------------------------------------
| a | 3 | 3 | 3 | 3 | 2 |
| b | 2 | 2 | 2 | 1 | 1 |
| c | 1 | 1 | 1 | 1 | 1 |
| d | 1 | 1 | 1 | 0 | 0 |
| e | 1 | 1 | 1 | 1 | 1 |
-------------------------------------------------------------------------
5 rows in set (0.00 sec)参考http://www.cnblogs.com/Dhouse/p/6734837.htmlhttp://eeeewwwqq.iteye.com/blog/1972576http://blog.csdn.net/lihuarongaini/article/details/68485838【END】近期热文 面试珍藏最常见的200多道Java面试题被一个熟悉的面试题问懵了String...面试官如何实现幂等性校验关注下方二维码订阅更多精彩内容朕已阅