经过查询研究得出这个和MySQL中用什么引擎有关,比如InnoDB和MyISAM在处理这count(*)、count(1)、count(field)都有不同的方式,还有就是和版本都有关系,不同的版本会对查询进行优化处理等等。

下面是网络上普遍的解释:

count(*)对行的数目进行计算,包含NULL
count(column)对特定的列的值具有的行数进行计算,不包含NULL值。 count()还有一种使用方式,count(1)这个用法和count(*)的结果是一样的。 任何情况下select count(*) from tablename是最优选择; 尽量减少select count(*) from tablename where COL = ‘value’这种查询; 杜绝select count(COL) from tablename where COL2 = ‘value’的出现。 如果表没有主键,那么count(1)比count(*)快。 如果有主键,那么count(主键,联合主键)比count(*)快。 如果表只有一个字段,count(*)最快。 count(1)跟count(主键)一样,只扫描主键。count(*)跟count(非主键)一样,扫描整个表。明显前者更快一些。 若含有where语句,则会优先where中条件索引。

做查询优化时,可以根据官方文档和数据来进行尝试和调优,这样去处理才能根本解决问题。

参考:

https://segmentfault.com/a/1190000009208277

http://blog.163.com/bobile45@126/blog/static/960619922012915102919319/

https://segmentfault.com/q/1010000000761427

http://blog.csdn.net/unifirst/article/details/52153902

http://www.111cn.net/database/mysql/53202.htm

http://blog.csdn.net/lzm18064126848/article/details/50491956

最新文章

  1. Android 开发项目笔记2 自建View满足特殊要求
  2. 解决方法 test: database removal failed: ERROR: database "test" is being accessed by other users
  3. [C#高级编程].NET体系结构
  4. Web开发常用知识点 - PHP
  5. 泛函编程(19)-泛函库设计-Parallelism In Action
  6. 基于Linux的oracle数据库管理 part4( shell管理 上 )
  7. Codeforces Round #313 (Div. 1) B. Equivalent Strings DFS暴力
  8. oc学习之路----QQ聊天界面
  9. day6_python学习笔记_chapter8_条件,循环
  10. meta 元标签的常用用法
  11. IDEA远程调试服务器代码
  12. django——文本编辑器
  13. Server Library [Apache Tomcat 7.0] unbound解决方案
  14. mysql5.7-windows安装配置
  15. TableView中Label自适应高度
  16. Keepalived系列一:安装Keepalived
  17. 理解C++类的继承方式(小白)
  18. iOS:多媒体(18-01-25更)
  19. Wannafly挑战赛7 C - 小Q与氪金游戏
  20. oracle 导出表结构信息

热门文章

  1. 备忘录:python 3在class中使用yield
  2. SQLite -附加数据库
  3. TebsorFlow低阶API(五)—— 保存和恢复
  4. DNS查询过程
  5. SQL Server 删除表的默认值约束
  6. [Java]Java工程师成神之路
  7. MySQL内外联结
  8. HTML、CSS 和 JS框架之Bootstrap
  9. pyquery 基本使用笔记
  10. 杭电 2141 Can you find it? (二分法)