【项目实战】count(1) 、count(col)、count(*) 如何选择?

news2024/9/24 11:24:44

一、背景

有时候会看业务执行的情况,如查看多少用户已经领取了礼品等,需要看数据库的计数或统计用户使用情况时,往往会使用聚合函数COUNT(),聚合函数有很多种,列出如官网的截图
在这里插入图片描述
而其中常用的聚合函数主要是包括以下,其中就会涉及到使用Count的聚合函数。
在这里插入图片描述
Count常见有三种,具体要使用哪一种呢?
在这里插入图片描述

二、实际对比下

2.1 计算库中最大的表

按顺序执行以下SQL脚本,得出sys_job_log为最大的表

show DATABASES;
use information_schema;
show tables;
desc tables;
select table_name,table_rows from  tables order by table_rows desc limit 10;

在这里插入图片描述

2.2 计算大表的平均查询时间

select count(*) from sys_job_log
select count(1) from sys_job_log
select count(job_log_id) from sys_job_log

发现规律,第三个SQL总是耗去最长时间~平均都需要1S以上才能查询出来结果,其他两个SQL的查询时间看不出时长的差别。
在这里插入图片描述

2.3 计算大表的执行计划

EXPLAIN  select count(*) from sys_job_log
EXPLAIN  select count(1) from sys_job_log
EXPLAIN select count(job_log_id) from sys_job_log

从执行计划来看,三者都一样
在这里插入图片描述

三、耗时统计与总结

3.1 count(1)和count(*)的用法相同

  • count(1)和count(*)的用法相同,都是统计表中的行数。
  • 如果想要统计表中的行数,可以使用count(1)或count(*);

3.2 count(1) 和count(*) 的耗时可能有所不同

  • count(1) 会更快一些,因为它只需要统计行数,而不需要计算所有列的值。
  • count(*) 会慢一些,因为它需要统计所有列的值,即使它们都为空也需要计算。

3.3 count(id)是统计id列中非空值的个数

  • count(column_name)是统计column_name列中非空值的个数。
  • 如果想要统计某一列中非空值的个数,可以使用count(column_name)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/187784.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux常用命令——readelf命令

在线Linux命令查询工具(http://www.lzltool.com/LinuxCommand) readelf 用于显示elf格式文件的信息 补充说明 readelf命令用来显示一个或者多个elf格式的目标文件的信息,可以通过它的选项来控制显示哪些信息。这里的elf-file(s)就表示那些被检查的文件。可以支持…

java基于ssm滑雪场门票在线售票系统的设计与实现

基于jsp技术设计并实现了滑雪售票系统。该系统基于B/S即所谓浏览器/服务器模式,应用SSM框架,选择MySQL作为后台数据库。系统主要包括个人中心、用户管理、票务信息管理、购票信息管理、技巧交流、系统管理等功能模块。 性能测试主要通过模拟系统运行环境…

蓝桥杯刷题017——轨道炮(贪心)

2019国赛轨道炮 题目描述 小明在玩一款战争游戏。地图上一共有 N 个敌方单位,可以看作 2D 平面上的点。其中第 i 个单位在 0 时刻的位置是 (Xi​,Yi​),方向是 Di​ (上下左右之一, 用U/D/L/R 表示),速度是 Vi​。 小明的武器是轨道炮&#x…

我来告诉你,ChatGPT 该怎么对接到自己的项目中!

作者:小傅哥 博客:https://bugstack.cn 沉淀、分享、成长,让自己和他人都能有所收获!😄 1. 项目介绍 《ChatGPT AI 问答助手》 开源免费项目,涵盖爬虫接口、ChatGPT API对接、DDD架构设计、镜像打包、Dock…

六十年间中国经济总量增长245倍

中国GDP(现价美元)走势图回顾2022年,中国经济顶住了来自防控疫情及国际变化的巨大压力,全年GDP实现3%的同比增长,其中年末冬季GDP同比增长2.9%。从主要指标显示,12月第三产业、投资、地产都有不同程度的改善…

HTB_Base_php弱类型与find命令提权

至此,startpoint部分就完成了,也初步建立的渗透测试的思路和体系 温故而知新,可以为师矣 文章目录信息收集php弱类型 & strcmp绕过GTFOBins 二进制常用命令find提权信息收集 nmap -sC -A -Pn ip开放端口22、80 dirsearch 扫描目录&…

一文5000字手把手教你使用jenkins搭建一个中小企业前端项目部署环境

本文你能学到什么? 传统发布和现在发布的对比和区别 项目案例-手动上传服务器,使用jenkins上传服务器 配置不同的发布环境 配置域名 配置https 配置钉钉机器人通知【文末有配套资源领取】 服务器购买:抢占式实例 Jenkins 安装 示例服务器为 阿里…

系统移植 tf-a

1、从ST官网下载TF-A源码,将TF-A源码拷贝到ubuntu中并进行解压。 2、进入tf-a源码,阅读README.HOW_TO.txt帮助文档。 3、分析帮助文档。 分析文档可得,移植tf-a到开发板中步骤为:对tf-a源码进行解压;打补丁&#xff…

ElasticSearch从入门到出门【上】

文章目录初识elasticsearch了解ESelasticsearch的作用ELK技术栈elasticsearch和lucene为什么不是其他搜索技术?倒排索引正向索引倒排索引正向和倒排ES的一些概念文档和字段索引和映射mysql与elasticsearch安装elasticsearch部署单点es部署kibana安装IK分词器在线安装…

SpringBoot 使用自定义的方式整合Druid数据源(powernode document)(内含源代码)

SpringBoot 使用自定义的方式整合Druid数据源(powernode document)(内含源代码) 源代码下载链接地址:https://download.csdn.net/download/weixin_46411355/87404561 目录SpringBoot 使用自定义的方式整合Druid数据源…

SQLSERVER 的 nolock 到底是怎样的无锁?

一:背景 1. 讲故事 相信绝大部分用 SQLSERVER 作为底层存储的程序员都知道 nolock 关键词,即使当时不知道也会在踩过若干阻塞坑之后果断的加上 nolock,但这玩意有什么注意事项呢?这就需要了解它的底层原理了。 二:n…

python之np.sum()用法详解

python库numpy提供的求和方法np.sum(),可以对数组和矩阵进行求和。sum方法可以接收多个参数,主要是数组a,坐标轴axis,数据类型dtype,初始值initial。其中,axis对于我们来说比较容易迷糊,这个值对求和有什么影响?一般来…

Linux常用命令——rcp命令

在线Linux命令查询工具(http://www.lzltool.com/LinuxCommand) rcp 使在两台Linux主机之间的文件复制操作更简单 补充说明 rcp命令使在两台Linux主机之间的文件复制操作更简单。通过适当的配置,在两台Linux主机之间复制文件而无需输入密码,就像本地文…

React基础入门(一)

1、React简介 官网 英文官网: https://reactjs.org/ 中文官网: https://react.docschina.org/ 描述介绍 用于动态构建用户界面的 JavaScript 库(只关注于视图) 由Facebook开源 React特点 1、声明式编码 2、组件化编码 3、React Native 编写原生应用 4、高效(优秀…

苹果不小心删了照片怎么恢复?苹果照片删除后如何恢复

苹果不小心删了照片怎么恢复?请保持冷静,不要往mac中写入新的东西,以防丢失的照片被覆盖。接下来,我们一起来探讨一下mac照片恢复的技巧。 方法一、从“最近删除”文件夹中恢复照片 使用照片管理应用程序(例如Mac上的…

百趣代谢组学分享Lip-SMap:绘制代谢物和蛋白相互作用图谱的新方法

百趣代谢组学文献分享,自2014年瑞士苏黎世联邦理工学院的Picotti和她的研究小组开始用Lip-SRM法测量复杂蛋白质混合物的大量结构改性蛋白质以来[1];该研究小组随后对方法进行改进,研究了复杂细胞基质中几种生物蛋白质的热稳定性,并…

袁树雄和唐磊关系迎来转折,王勇把他们两个和杨语莲拉进一个群

自从《早安隆回》火爆全网之后,创作者袁树雄就遭遇各种非议,就是他的同行唐磊老师,也勇敢站出来点评。唐磊老师也是一名音乐人,当年他凭借《丁香花》,一夜之间响彻大江南北,成为了家喻户晓的大明星。 虽然唐…

1行Python代码识别车牌号码,轻松写一个停车场管理系统,YYDS

大家好,这里是程序员晚枫。 你家停车场的摄像头,是怎么识别出你的车牌的?今天我们一起来看一下~ 识别车牌 识别车牌的代码很简单,只需要1行代码,如下所示。👇 # pip install poocr import poocr# 可以填…

Day1 CF847 div3 vp A-E

Dashboard - Codeforces Round #847 (Div. 3) - Codeforces感觉想试试隔一天vp一场div3/4,那就试试吧本来想把F补完再写的,但是感觉有点晚了,那就将就一下吧,F有缘单独补,嘻今晚浅浅vp了一下,一鼓作气地打出…

聊聊如何利用apollo与druid整合实现数据源动态热切

前言 本文的素材来源与某次和朋友技术交流,当时朋友就跟我吐槽说apollo不如nacos好用,而且他们还因为apollo发生过一次线上事故。 故事的背景大概是如下 前阵子朋友部门的数据库发生宕机,导致业务无法正常操作,当时朋友他们数据…