首页 > 其他分享 >count(1)、count(*)、count(column)的含义、区别、执行效率

count(1)、count(*)、count(column)的含义、区别、执行效率

时间:2023-08-17 15:35:54浏览次数:39  
标签:count 中非 column 含义 计数 行数 null 效率

含义:

  1. count(1)对每行都记录,无论该行的值是什么。将固定常量值1作为参数,只需检查是否存在行,而不关心具体数值。(计算一共有多少符合条件的行,不会忽略null值)
  2. count(*)对所有行进行计数。使用通配符作为参数,表示计算所有行的数量。(统计所有的行数,包括为null的行)
  3. count(colunm)对指定列中非空值的行进行计数。接收一个具体的列名作为参数,只统计该列中非null值的行数。(如果列中存在null值,则不计入计数结果)

区别:

  • count(1)和count(*)都是计算总行数,不关心具体值,而count(column)只计算指定列中非null值的行数
  • count(1)和count(*)没有区别,在效果和执行效率上相似。大多数情况下,它们的执行效率是相等的

执行效率:

count(字段) < count(主键id) < count(1) ≈ count(*)


标签:count,中非,column,含义,计数,行数,null,效率
From: https://blog.51cto.com/u_16194379/7123193

相关文章

  • C# 数字后面有个M字母 所代表的含义,还有哪些类似的字母
    在C#中,数字后面的"M"表示该数字是一个双精度(decimal)类型的数值。双精度类型是C#的一种数据类型,用于存储较大范围和更高精度的十进制数值。通过在数字后面添加"M",可以告诉编译器将该数字解析为双精度类型。例如,你可以使用以下方式声明一个双精度类型的数值:decimalnumber=10.5M;......
  • C# Microsoft.Win32.TaskScheduler方式创建任务计划程序报错: System.ArgumentExceptio
    使用Microsoft.Win32.TaskScheduler创建任务计划程序可参考本人之前的一篇文章:https://www.cnblogs.com/log9527blog/p/17329755.html最新发现个别账户使用Microsoft.Win32.TaskScheduler创建任务计划程序报错:System.ArgumentException:(12,21):UserId:Account一种情况是账户......
  • 对于MySQL的innodb存储引擎,‘select count(*) ’、‘select count(id)’、‘select co
    让我们重新审视那三个查询在InnoDB存储引擎中的行为:selectcount(*)fromtable;这个查询用于计算表中的所有行数。当使用count(*)时,MySQL不会去检查列的值,它只关心行数。对于InnoDB,这并不意味着它可以从某个内部计数器快速获取行数,而是需要对整个表或满足查询条件的相......
  • 为什么MySQL innodb的数据达到亿级别,使用‘select count(*) ’将会特别慢?
    当表的数据达到亿级别时,使用SELECTCOUNT(*)FROMtable会变得特别慢,主要是因为以下几个原因:全表扫描:SELECTCOUNT(*)FROMtable通常会导致全表扫描,除非有一些优化手段被应用(例如使用覆盖索引)。当你执行这样的查询,数据库实际上需要读取表中的每一行以计算总......
  • C++中const修饰符的含义
    const修饰符在C++中的用途主要是四类:1,变量类型声明的修饰:禁止对变量或对象的修改;2,函数形参中的声明修饰:禁止对传递的对象作修改,或禁止对引用变量作修改;3,函数返回类型前的修饰:禁止修改函数返回的对象;4,类成员函数声明(小括号之后、大括号之前)末尾的修饰:禁止该成员函数修改类中的任何......
  • Vue进阶(幺伍贰):el-table-column :key 应用
    (文章目录)一、前言在前端项目开发过程中,el-table展示的结果列使用组件形式引入,其中某些字段通过:formatter方法转码,结果栏位的字段显示/隐藏控制也使用组件形式引入,前端在控制字段显示属性时,发现码值转换及字段信息展示均有问题。二、问题分析通过阅读代码结构,发现el-table-co......
  • CyclicBarrier和CountDownLatch的区别
    引言在并发编程中,CyclicBarrier和CountDownLatch是两个常用的同步工具类。它们都可以用于线程之间的等待和协调,但在使用方式和功能上有一些区别。本文将深入探讨CyclicBarrier和CountDownLatch的区别,并给出相应的代码示例。CyclicBarrier和CountDownLatch简介CyclicBarrierCycl......
  • python的format打印格式'{0:2d} @ {1:2d} {2}{0:<2d}'的含义
    #BEGINBISECT_DEMOimportbisectimportsysHAYSTACK=[1,4,5,6,8,12,15,20,21,23,23,26,29,30]NEEDLES=[0,1,2,5,8,10,22,23,29,30,31]ROW_FMT='{0:2d}@{1:2d}{2}{0:<2d}'defdemo(bisect_fn):forneedleinreversed(N......
  • 关于 SAP Fiori Elements 应用的 ResponsiveTableColumnsExtension 扩展
    笔者这篇教程介绍了如何在SAPFioriElements应用的manifest.json里注册Extensionfragment,从而给ListReport应用的Table区域新增自定义列:10.如何通过扩展(Extension)的方式给SAPFioriElementsListReport的表格新增列请大家注意下图高亮的扩展:ResponsiveTabl......
  • $count (aggregation)
    https://www.mongodb.com/docs/manual/reference/operator/aggregation/count/ $count(aggregation) Definition $count Passesadocumenttothenextstagethatcontainsacountofthenumberofdocumentsinputtothestage.NOTEDisambiguationThi......