count(1)、count(*)、count(列名)的区别
含义:
1、count(*) :统计所有的行数,包括为null的行(COUNT(*)不单会进行全表扫描,也会对表的每个字段进行扫描。而COUNT('x')或者COUNT(COLUMN)或者COUNT(0)等则只进行一个字段的全表扫描)。
2、count(1):计算一共有多少符合条件的行(其实就可以想成表中有这么一个字段,这个字段就是固定值1,count(1),就是计算一共有多少个1..同理,count(2),也可以,得到的值完全一样,count('x'),count('y')都是可以的。count(*),执行时会把星号翻译成字段的具体名字,效果也是一样的,不过多了一个翻译的动作,比固定值的方式效率稍微低一些。)
3、count(列名):查询列名那一列的,字段为null不统计。
执行效果:
1、count(*)包括了所有的列,相当于行数,在统计结果的时候,不会忽略列值为NULL。
2、count(1)包括了忽略所有列,用1代表代码行,在统计结果的时候,不会忽略列值为NULL。
3、count(列名)只包括列名那一列,在统计结果的时候,会忽略列值为空。
执行效率:
- 列名为主键,count(列名)会比count(1)快
- 列名不为主键,count(1)会比count(列名)快
- 如果表多个列并且没有主键,则 count(1) 的执行效率优于 count(*)
- 如果有主键,则 select count(主键)的执行效率是最优的
- 如果表只有一个字段,则 select count(*)最优
count(1)、count(*)、count(列名)的区别相关推荐
- count(1)、count(*) 与 count (列名) 的执行区别
(给视学算法加星标,提升数据技能) 转自:BigoSprite https://blog.csdn.net/iFuMI/article/details/77920767 执行效果: 1.count( ...
- 关于数据库优化1——关于count(1),count(*),和count(列名)的区别,和关于表中字段顺序的问题...
1.关于count(1),count(*),和count(列名)的区别 相信大家总是在工作中,或者是学习中对于count()的到底怎么用更快.一直有很大的疑问,有的人说count(*)更快,也有的人说 ...
- 执行COUNT(1)、COUNT(*) 与 COUNT(列名) 到底有什么区别?
点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:干掉 Navicat:这个 IDEA 的兄弟真香!个人原创100W+访问量博客:点击前往,查看更多 来源:blo ...
- MySQL COUNT函数优化及count(1)/count(*)/count(列名)的区别
count函数优化 使用近似值: 在某些应用场景中,不需要完全精确的值,可以参考使用近似值来代替,比如可以使用explain来获取近似的值.其实在很多OLAP的应用中,需要计算某一个列值的基数,有一个 ...
- 面试官 | count(1)、count(*) 、count(列名) 有什么区别?
作者 | BigoSprite 来源 | 39sd.cn/0926A 先看执行效果: 1. count(1) and count(*) 当表的数据量大些时,对表作分析之后,使用count(1)还要比 ...
- sql 在某表中加入一列count所有数据_执行COUNT(1)、COUNT(*) 与 COUNT(列名) 到底有什么区别?...
击关注上方"SQL数据库开发", 设为"置顶或星标",第一时间送达干货. 1. count(1) and count(*) 从执行计划来看,count(1)和 ...
- MySQL中count(1)、count(*) 与 count(列名) 的执行区别
执行效果: 1.count(1) and count(*) 当表的数据量大些时,对表作分析之后,使用count(1)还要比使用count()用时多了! 从执行计划来看,count(1)和count() ...
- count(*)、count(1)、count(0)、count(列名)区别
count(*).count(1).count(0).count(列名)区别 1.count(*).count(1): count(*)对行的数目进行计算,包含NULL,count(1)这个用法和co ...
- count(0)、count(1)和count(*)、count(列名) 的区别
当我们对一张数据表中的记录进行统计的时候,习惯都会使用 count 函数来统计,但是 count 函数传入的参数有很多种,比如 count(1).count(*).count(字段) 等. 到底哪种效 ...
- 区别:count(1) 和 count(*)和count(列名)
执行效果上: count(*)包括了所有的列,相当于行数,在统计结果的时候,不会忽略列值为NULL: count(1)包括了忽略所有列,用1代表代码行,在统计结果的时候,不会忽略列值为NULL: co ...
最新文章
- 如何使用 Python 操作 Git 代码?GitPython 入门介绍
- 【移动开发】Android中不用图片资源也能做出好看的界面
- cad vba 打开文件对话框_CAD文件损坏?无法打开?别急,这八种方法或许能帮到你...
- 结对-贪吃蛇游戏-设计文档
- 雅诗兰黛天猫超级品牌日:未央唇膏、红装小棕瓶“当红不让”
- LeetCode之Two Sum II - Input array is sorted
- 品牌直播启动的三个关键点
- 2018/4/7 Mybatis源码结构概览
- IDC预测:2021vCPE软硬件市场将达到30亿美元
- newifimini出厂固件_新路由newifi固件
- (转载)费玉清生活清贫 是低调大富翁
- Ubuntu使用cmake出现Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
- Win11鼠标右键默认显示更多,保持跟Win10一致
- 2020年3大免费又好用的BI工具软件
- java jbutton 文字颜色_java – 如何更改JButton的文本颜色
- vue设置页面的高度100%
- 淘宝店铺商品发布API(新)接口,店铺上传接口代码对接教程
- 基于Vue实现微前端
- Mathematica SPWM
- linux 解压rar格式的文件怎么打开,linux服务器怎么解压rar格式的文件
热门文章
- python使用opencv方法将签名图片自动插入到图片任意位置
- ios应用实现五星好评
- python 离线图片文字识别(OCR)Tesseract
- Unity Multiple_Graph_And_Chart_UI_Pack 可视化UI插件
- 《实用机器学习》(孙亮 黄倩.著)笔记——第一章 引论
- 【Netty】对象重用的秘密:Recycler源码分析
- 分子筛(合成沸石)-硅铝酸盐多微孔晶体
- loadrunner发送json_loadrunner xml脚本和json脚本
- 母婴电商市场已成红海,贝贝网能否打破命运的藩篱?
- 自然摄影指南——第一章:曝光:多重曝光