首页 > 其他分享 >select count(*) 和 select count(1) 以及 select count(column) 的区别

select count(*) 和 select count(1) 以及 select count(column) 的区别

时间:2023-09-19 22:02:48浏览次数:32  
标签:count column 耗时 PK NULL 主键 select

   1.  一般情况下,Select Count (*)和Select Count(1)两者的返回结果是一样的

   2.  假如表沒有主键(PK), 那么count(1)比count(*)快, 如果有主键PK的話,那count(主键)最快, 如果你的表只有一个字段的话那count(*)就是最快的

   3. count(*) 跟 count(1) 的结果一样,都包括对NULL的统计,而count(column) 是不包括NULL的统计

100多万条count(1)和count(*)查询速度对比

count(*)

select count(*) 和 select count(1) 以及 select count(column) 的区别_主键

耗时:4.2s

count(1)

select count(*) 和 select count(1) 以及 select count(column) 的区别_count_02

耗时:4.2s

时间差不多

优化

给主键添加索引,使用sum函数

select count(*) 和 select count(1) 以及 select count(column) 的区别_count_03

select count(*) 和 select count(1) 以及 select count(column) 的区别_sql_04

耗时:0.33s

直接起飞,又一个sql优化小技巧!!!

标签:count,column,耗时,PK,NULL,主键,select
From: https://blog.51cto.com/AmbitionGarden/7529727

相关文章

  • mysql count()函数
    count(expr)函数的参数expr可以是任意的表达式,该函数用于统计在符合搜索条件的记录总数;count(expr)函数执行效率从低到高排序为:count(非主键字段)<count(主键)<count(1)≈count(*);对于count(1)和count(*),效率相当,建议尽量使用count(*),因为MySQL优化器会选择最小......
  • js/jquery 关于select 的一些操作
    1.如何设置默认选中呢设置默认选中可在option中添加selected="selected",具体举例如下:<optionvalue="2"selected="selected">test2</option><selectid="citySel"class="select"><optionvalue="......
  • 【Pandas】groupby连用的count()和size()的区别
    groupby连用的count()和size()的区别count()计算的是value(数值);size()计算的是size(个数)我们有以下表:size()age=df.groupby(by='Nation').size().reset_index()age可以发现,size()计数的是记录的条数,即每个nation对应有多少条count()count=df_try.groupby(by=......
  • SQL update select结合语句详解及应用
    SQLupdateselect结合语句详解及应用 QLupdateselect语句最常用的update语法是:12UPDATETABLE_NAMESETcolumn_name1=VALUEWHRERcolumn_name2=VALUE如果我的更新值Value是从一条select语句拿出来,而且有很多列的话,用这种语法就很麻烦第一,要sel......
  • 【Azure Batch】在中国区批处理服务(Mooncake Batch Account)上实验自动池(Auto Pool)
    问题描述在AzureBatch的介绍文档中,提出了自动池的概念,它可以在任务完成后,自动删除Pool资源,详细介绍:https://docs.azure.cn/zh-cn/batch/nodes-and-pools#autopools & https://learn.microsoft.com/zh-cn/rest/api/batchservice/job/add?tabs=HTTP#autopoolspecification自动池......
  • 27、Flink 的SQL之SELECT (SQL Hints 和 Joins)介绍及详细示例(2-2)
    Flink系列文章[1、Flink部署、概念介绍、source、transformation、sink使用示例、四大基石介绍和示例等系列综合文章链接][13、Flink的tableapi与sql的基本概念、通用api介绍及入门示例][14、Flink的tableapi与sql之数据类型:内置数据类型以及它们的属性][15、Flink的t......
  • 不要使用count(列名)或count(常量)来替代count(*),count(*)就是SQL92定义的标准统计行
    慢SQL治理经验总结https://mp.weixin.qq.com/s/LZRSQJufGRpRw6u4h_Uyww慢SQL治理经验总结原创 药糖 大淘宝技术 2023-09-1816:20 发表于浙江 在过去两年的工作中,我们团队曾负责大淘宝技术的慢SQL治理工作,作为横向的数据安全治理平台,如何快速准确地发现部门内所有应用......
  • 关于 Spartacus My Account 菜单的数据源 - NavigationNode
    有朋友询问Spartacus的MyAccount菜单里,Mycompany菜单项的数据源是什么?Spartacus启动时,我们观察到这个OCCAPI:/occ/v2/powertools-spa/cms/pages?lang=en&curr=USD在其响应数据里,观察到navigationnode里包含了一个叫做MyCompany的菜单项:Backoffice是SAPCom......
  • 多路转接方案:select poll epoll 介绍和对比
    1.IO模型内存和外设的交互叫做IO,网络IO就是将数据在内存和网卡间拷贝。IO本质就是等待和拷贝,一般等待耗时往往远高于拷贝耗时。所以提高IO效率就是尽可能减少等待时间的比重。IO模型简单对比解释阻塞IO阻塞等待数据到来非阻塞IO轮询等待数据到来信号驱动信......
  • js获取select选中的标签option的值
    js中获取方法varobj=document.getElementById(”testSelect”);//定位idvarindex=obj.selectedIndex;//选中索引vartext=obj.options[index].text;//选中文本varvalue=obj.options[index].value;//选中值jQuery中获得选中select值第一种方式(......