mysql想必很多程序猿都是不陌生的。很多人在纠结count的用法,怎么样才能查询效果最好。今天来谈谈小编的一些看法,仅供参考。

1、咱们先准备建一个表,并准备好测试数据方便后续步骤测试

以InnoDB引擎表为例

建表语句如下

CREATE TABLE test.test(    a VARCHAR(50) NOT NULL COMMENT 'ddfdf',    b VARCHAR(15) NOT NULL COMMENT 'fds',    c VARCHAR(20) NOT NULL COMMENT 'asda',    d VARCHAR(8) NOT NULL COMMENT 'ads',    e longblob NOT NULL COMMENT 'asda',    f VARCHAR(2000) COMMENT 'ads',    g VARCHAR(8) NOT NULL COMMENT 'assd',    h DATE NOT NULL COMMENT 'adsad',    z VARCHAR(10) NOT NULL COMMENT 'adsd')ENGINE=InnoDB DEFAULT CHARSET=utf8;

执行建表语句如下图所示

3、然后是准备测试数据,简单查一下是否有数据,如下图所示

4、接下来开始做测试

在没有where条件的情况下

有人觉得count(*)比count(字段)要快,还有人觉得count(字段)比count(*)要快?

那到底那个快,咱们一试便知,请看下图

根据图中结果显示,明显count(字段)快一些

5、那在有where条件的情况呢?count(*)和count(字段)谁更快?

请看下图执行效果

count(*)快一点,可能是数据量太少看不出太明显的效果

6、当然可以通过查看执行计划进行分析

在执行的sql前面加上desc或者explain即可,如下图所示

最后总结一下1.在没有where条件下,建议count(字段)2.在有where条件的情况下,建议count(*)最后总结一下1.在没有where条件下,建议count(字段)2.在有where条件的情况下,建议count(*)

更多相关文章

  1. MySQL系列多表连接查询92及99语法示例详解教程
  2. Linux下MYSQL 5.7 找回root密码的问题(亲测可用)
  3. MySQL 什么时候使用INNER JOIN 或 LEFT JOIN
  4. ES6 变量声明,箭头函数,数组方法,解构赋值,JSON,类与继承,模块化练习
  5. 浅谈Java中Collections.sort对List排序的两种方法
  6. Python list sort方法的具体使用
  7. python list.sort()根据多个关键字排序的方法实现
  8. android上一些方法的区别和用法的注意事项
  9. android实现字体闪烁动画的方法

随机推荐

  1. android 的短息发声阅读软件源码
  2. Android 浏览器的开发实例分享
  3. android动态增加控件时控制样式的方法
  4. 初学Android时,运行SDK的例子出现警告
  5. Google android初级开发之 : android 编
  6. Activity去除标题栏和状态栏
  7. Android设置Settings实现:PreferenceActiv
  8. Android使用gradle生成maven库,上传githu
  9. Android之开发常用颜色
  10. 像写Flutter一样开发Android原生应用