count(1) count(*) count(列名)的区别

2023-10-27

1.  count(1) and count(*)

 

从执行计划来看,count(1)和count(*)的效果是一样的。

当表的数据量大些时,对表作分析之后,使用count(1)还要比使用count(*)用时多! 

当数据量在1W以内时,count(1)会比count(*)的用时少些,不过也差不了多少。

 

如果count(1)是聚集索引时,那肯定是count(1)快,但是差的很小。 

因为count(*),会自动优化指定到那一个字段。所以没必要去count(1),使用count(*),sql会帮你完成优化的 

因此:在有聚集索引时count(1)和count(*)基本没有差别! 

 

2. count(1) and count(字段)

 

两者的主要区别是

  • count(1) 会统计表中的所有的记录数,包含字段为null 的记录。

  • count(字段) 会统计该字段在表中出现的次数,忽略字段为null 的情况。即不统计字段为null 的记录。 

 

3. count(*) 和 count(1)和count(列名)区别  

 

执行效果上:  

 

  • count(*)包括了所有的列,相当于行数,在统计结果的时候,不会忽略为NULL的值。  

  • count(1)包括了忽略所有列,用1代表代码行,在统计结果的时候,不会忽略为NULL的值。

  • count(列名)只包括列名那一列,在统计结果的时候,会忽略列值为空(这里的空不是指空字符串或者0,而是表示null)的计数,即某个字段值为NULL时,不统计。

 

执行效率上:  

 

  • 列名为主键,count(列名)会比count(1)快  

  • 列名不为主键,count(1)会比count(列名)快  

  • 如果表多个列并且没有主键,则 count(1 的执行效率优于 count(*)  

  • 如果有主键,则 select count(主键)的执行效率是最优的  

  • 如果表只有一个字段,则 select count(*)最优。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

count(1) count(*) count(列名)的区别 的相关文章

随机推荐

  • ldconfig提示is not a symbolic link警告的去除方法

    错误提示 ldconfig ldconfig usr local lib gliethttp libxerces c 3 0 so is not a symbolic link 问题分析 因为libxerces c 3 0 so正常情况下应
  • ISIS课堂笔记12.3

    7805与78l05区别 1 管脚不同 管脚相反 2 78L05是一种固定电压 5V 三端集成稳压器 可适用于很多应用场合 其卓越的内部电流限制和热关断特性使之特别适用于过载的情况 当用于替代传统的齐纳二极管 电阻组的时候 其输出阻抗得到有
  • 进行数据离散化的原因_离散制造业MES相比流程制造业MES的区别在何处

    MES可以使得不同企业的工艺流程和管理需求通过现场定义来达到目的 MES可以提供诸多模块并为企业打造一个扎实 可靠 全面 可行的制造协同管理平台 MES系统作为制造企业信息化进程中不可替代的重要技术和手段 其应用和普及自然成为企业最理想的选
  • TypeScript 基础类型 —— Object

    声明为 Object 类型表示非原始类型 也就是除 number string boolean symbol null 或 undefined 之外的类型 const obj object function const res name s
  • 防止撤回插件 Android,微信防撤回插件

    微信防撤回插件是一款微信防撤回插件 可以把好友撤销的消息留在自己的手机聊天界面上 微信防撤回插件再也不怕消息被撤回了 即使有人不小心发了小秘密及时撤回 你也可以看到哟 并且还有强大的自动抢红包等功能 需要的朋友赶紧下载吧 微信防撤回插件官方
  • 志愿者招募计划--2019CTA 核心技术及应用峰会(杭州)

    5月25 27日 CSDN 与数字经济人才发展中心联合主办的第一届 CTA 核心技术及应用峰会将在杭州开启 首届 CTA 核心技术及应用峰会将围绕人工智能 邀请技术领航者 与开发者共同探讨机器学习和知识图谱的前沿研究及应用 不久之前我们公布
  • 数据库连接池自动重新连接问题

    http sailorls blogchina com 2606862 html tomcat连接池自动重新连接问题 Tag Tag tomcat 连接池 重新连接 在以往的开发中 常常遇到tomcat连接池断掉后 比如网络断线 无法自动重
  • 知识图谱02:知识图谱的应用

    公众号 数据挖掘与机器学习笔记 知识图谱提供了一种更好的组织 管理和理解互联网信息的能力 可用于语义搜索 智能问答 个性化推荐等 在社交和电子商务等领域中实现价值 基于知识图谱的应用是信息领域当前的研究热点 也是促进人工智能发展的基础技术之
  • STM32L051测试 (五、串口测试 — 与Enocean模块通讯问题)

    STM32L051测试 第五课 串口的使用 by 矜辰所致 添加目录栏目 2021 9 30 调整文章格式 增加串口接收卡死处理说明 2022 7 18 目录 前言 一 串口接收处理的几种方式 1 1 串口接收发送不定长度的数据 非DMA方
  • 记一次简单的js逆向分析

    背景 朋友让帮忙爬一点数据 用作数据分析来用 网址如下 aHR0cHM6Ly93d3cub2tsaW5rLmNvbS96aC1jbi9idGMvdHgtbGlzdD9saW1pdD0yMCZwYWdlTnVtPTE 分析该网站 1 抓包 该
  • Qt QGraphics导入背景图并绘制图形,画布移动、缩放、图形旋转等

    前言 之前写过一篇博文 Qt鼠标拖动绘制基本几何图形 这是介绍使用QGraphic中利用鼠标事件实现基本几何图形的绘制 支持直线 矩形 圆形 椭圆 本次是在此基础上进行扩展 实现背景图导入 并在图片上进行几何图形绘制 包括矩形 圆形等 支持
  • Python简单实现图书管理系统

    本文章为作者实训内容 简单的图书管理系统 目录 需求分析 项目背景 项目认识 项目简介 管理系统 数据库设计 1 数据库需求分析 2 流程图 3 E R图 系统设计 系统涉及的简要分析 labrary system系统 Labrary bo
  • linux使用什么命令设置进程的优先级,Linux调整进程优先级之nice命令

    1 了解Linux进程调度 进程调度是Linux中非常重要的概念 Linux内核有一套高效复杂的调度机制 能使效率极大化 但有时为了实现特定的要求 需要一定的人工干预 比如如果你想高清电影播放器获取更多的CPU和内存资源 你可以把播放器的优
  • Linux学习笔记——Nginx安装部署

    5 3 Nginx安装部署 5 3 1 简介 Nginx engine x 是一个高性能的HTTP和反向代理Web服务器 同时也提供了IMAP POP3 SMTP服务 同Tomcat一样 Nginx可以托管用户编写的WEB应用程序成为可访问
  • sublime text2 使用技巧总结(一)

    sublime text2是开发代码编辑的神器 编辑器界面优美 操作速度快速 真是出门在外 居家旅行 杀人越货之必备良药 一 在当前项目中 快速搜索文件 1 搜索文件 2 搜索文件小技巧 在输入文件路径的时候 可以 c u a 这样的格式匹
  • 主力吸筹指标及其分析和使用说明

    文章目录 主力吸筹指标 指标代码分析 使用说明 使用配图 主力吸筹指标 VAR1 REF LOW 1 VAR2 SMA MAX LOW VAR1 0 3 1 SMA ABS LOW VAR1 3 1 100 VAR3 EMA VAR2 3
  • 有了这个时尚行业解决方案,轻松实现数字化转型!

    中国消费正面临升级 在这多变的商业发展阶段与多变的商业环境下 消费者愈发追求个性化 产品承载的元素从设计 价值延展到了数据 服务 流量 内容等等 每一家品牌经营者对此非常忧心 有了这套帆软时尚行业解决方案 解决你的烦恼 一 解决方案架构图
  • 梁乾东:4.21黄金走势下跌日内还能起死回升吗?最新黄金原油策略解析

    消息面解析 周二 4月20日 欧洲交易时段 受全球低迷影响 欧股回落 美股期货下跌 风险基调的变化也导致美国国债收益率跌破1 60 美元回吐部分跌幅 重回91关口 现货黄金交投于1770美元附近 本交易日市场关注欧美疫苗接种等地缘政治风险
  • 594. Longest Harmonious Subsequence

    We define a harmonious array is an array where the difference between its maximum value and its minimum value is exactly
  • count(1) count(*) count(列名)的区别

    1 count 1 and count 从执行计划来看 count 1 和count 的效果是一样的 当表的数据量大些时 对表作分析之后 使用count 1 还要比使用count 用时多 当数据量在1W以内时 count 1 会比count