`

count(1),count(id)以及count(*)的区别

 
阅读更多

 

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

    假如表沒有主键(Primary key), 那么count(1)count(*)快,

    如果有主键的話,那主键作为count的条件时候count(主键)最快

    如果你的表只有一个字段的话那count(*)就是最快的

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

 

 1select 1  select *的区别 
selelct 
常量 from ... 对应所有行,返回的永远只有一个值,即常量 。所以正常只会用来判断是否有还是没有(比如exists子句)。而select * from ... 是返回所有行的所有列。 
性能上的差异,关键看你的fromwhere子句。比如说如果你的where条件中可以通过索引,那显然 select 1 from ... 的性能比 select * from ... 好。 


2
select sum(1)的使用 
select count(*)
返回所有满足条件的记录数,此时同select sum(1) 
但是sum()可以传任意数字,负数、浮点数都可以,返回的值是传入值n*满足条件记录数m

分享到:
评论

相关推荐

    count(1)、count(*)与count(列名)的执行区别详解

    执行效果: 1. count(1) and count(*) 当表的数据量大些时,对表作分析之后,使用count(1)还要比使用count(*)用时...所以没必要去count(1),用count(*),sql会帮你完成优化的 因此: count(1)和count(*)基本没有差别!

    jquery.countUp

    2. **初始化countUp对象**:在JavaScript代码中,你需要创建一个countUp实例,指定要操作的DOM元素以及目标数值。例如: ```javascript var counter = new CountUp('myCounter', 12345); ``` 这里,'myCounter'是你...

    countUp插件使用

    1. **安装countUp.js**: 首先,通过npm(Node Package Manager)来安装countUp.js。在项目的根目录下运行以下命令: ``` npm install countup.js --save ``` 2. **导入countUp.js**: 在Angular的`src/assets`...

    mysql SELECT FOUND_ROWS()与COUNT()用法区别1

    在MySQL数据库中,`SELECT FOUND_ROWS()` 和 `COUNT(*)` 都是用来获取数据表中记录数量的方法,但它们之间存在一些关键的区别。了解这些差异对于优化查询性能和满足特定需求至关重要。 首先,`COUNT(*)` 是一个标准...

    聊聊MySQL的COUNT(*)的性能

    基本职场上的程序员用来统计数据库表的行数都会使用count(*),count(1)或者count(主键),那么它们之间的区别和性能你又是否了解呢? 其实程序员在开发的过程中,在一张大表上统计总行数是非常耗时的一个操作,那么...

    sql的left join和count应用

    (SELECT t1.WORD_ID, COUNT(1) AS tot FROM TPL t1 JOIN TPL t2 ON t1.WORD_ID = t2.FU_ID WHERE t1.FU_ID=-1 GROUP BY t1.WORD_ID) a2 ON a1.WORD_ID = a2.WORD_ID; ``` 这个查询首先创建了两个子查询...

    SRILM与ngram-count相关的主要类的类图

    6. **Vocabulary**: 词汇表类负责管理和转换单词到它们的ID表示,以及ID到单词的反向转换。 7. **Reader/Writer**: 这些类负责读取和写入数据,如语料库和模型文件。它们通常与特定的文件格式(如ARPA格式)相关联...

    前端项目-jquery-countto.zip

    **1. jQuery CountTo 插件** jQuery CountTo 是一个轻量级的插件,它的主要功能是在网页上以指定的速度和方向(向上或向下)对数字进行计数。这在展示统计数据、股票价格、时间戳等实时变化的数值时非常有用。其...

    mysq count优化.docx

    假设我们需要统计用户表中的记录总数,但在复杂的查询条件下(如按id、name、状态、时间等进行组合查询),`COUNT(*)`的性能下降明显。此时,可以采取以下步骤进行优化: 1. **评估场景**:确定是否可以使用缓存或...

    MySQL中distinct和count(*)的使用方法比较

    1. 计算不重复记录数量:`SELECT COUNT(DISTINCT id) FROM tablename;` 这个查询将返回 `tablename` 表中唯一 `id` 值的数量。 2. 返回不重复的字段值:`SELECT DISTINCT id FROM tablename;` 此查询将返回 `...

    mysql技巧之select count的区别分析

    1.测试环境 OS:LinuxDB:mysql-5.5.18table:innodb存储引擎 表定义如下: 2. 测试场景与分析【统计表group_message的... 通过上述测试结果可以看到,select count(*)和select count(1)都使用了group_id这个最短

    14.count(×)这么慢,我该怎么办?1

    1. **定期同步计数**:在每次插入或删除操作后更新一个专门的计数字段,或者在后台定时任务中执行`COUNT(*)`并将结果存储在内存或缓存中。这样可以在查询时直接读取预计算的值,提高效率。 2. **分区计数**:如果表...

    CountTime.zip

    在这个应用中,开发者使用了各种Android控件,如EditText用于输入事件标题和内容,DatePicker和TimePicker用于选择事件的时间,以及Button来触发操作。这些控件的属性设置,例如文字、颜色、大小等,都是通过XML布局...

    mysql中count(), group by, order by使用详解

    例如,在IM离线消息场景中,`COUNT(1)` 被用来计算每个发信人或群组发送的离线消息数量。 `GROUP BY` 语句用于将数据表中的数据根据一列或多列进行分组。在上述例子中,`GROUP BY from_company_id, from_user_id` ...

    关于mysql innodb count(*)速度慢的解决办法

    在实际应用中,大部分的`COUNT(*)`查询通常伴随着特定的`WHERE`条件,如`SELECT COUNT(*) FROM IMAGE WHERE USER_ID=5`。这种情况下,InnoDB和MyISAM都会使用索引来执行,性能取决于索引效率和其他因素。 5. **...

    countUp.js

    在jsp界面引用该js, new CountUp("放置数字的元素ID", 起始数字, 结束数字, 0, 2).start(); 例如new CountUp("bcky", 0, result.obj[i].ONLINENUM, 0, 2).start(); 即可实现数字动态跳动

    jquery轻量级数字动画插件countUp.js使用详解

    在示例代码中,创建了三个CountUp实例,分别对应三个`<h1>`标签`num1`、`num2`和`num3`,它们的动画效果有所不同,例如`num2`保留两位小数,而`num3`保留四位小数。 **配置选项** CountUp.js提供了一些可选的配置...

    详解 MySQL中count函数的正确使用方法

    其实count函数中除了*还可以放其他参数,比如常数、主键id、字段,那么它们有什么区别?各自效率如何?我们应该使用哪种方式来获取表的行数呢? 当搞清楚count函数的运行原理后,相信上面几个问题的答案就会了然于胸...

Global site tag (gtag.js) - Google Analytics