网站首页 > 技术文章 正文
在 MySQL 中,`COUNT` 函数用于统计行数或非NULL值的数量,而括号中的参数可以是数字、*、或字段名。这些参数之间有一些区别:
1. COUNT(1):
这会统计选定的行的数量,而不考虑行中的任何具体数据。`COUNT(1)` 通常用于提高性能,因为它不需要检查行中的具体数据,只需对行数进行计数。
2. COUNT(*):
这也会统计选定的行的数量,但与 `COUNT(1)` 不同的是,它会统计包括NULL值的行。`COUNT(*)` 会计算所有行,包括具有NULL值的行。
3. COUNT(字段名):
这会统计指定字段中非NULL值的数量。它只计算在指定字段中包含有效数据的行数,而不考虑NULL值。这可以用于统计某个字段中的非NULL值的数量。
COUNT(1) 和 COUNT(*) 通常用于统计行数,其中 COUNT(*) 包括NULL值的行。
COUNT(字段名) 用于统计指定字段中的非NULL值的数量。
执行效率上:
列名为主键,count(列名)会比count(1)快
列名不为主键,count(1)会比count(列名)快
如果表多个列并且没有主键,则 count(1) 的执行效率优于 count(*)
如果有主键,则 select count(主键)的执行效率是最优的
如果表只有一个字段,则 select count(*)最优。
- 上一篇: 高并发下实现幂等的几种方式(高并发如何解决方案)
- 下一篇: 嵌入式开发越老越吃香?35岁成黄金年龄!
猜你喜欢
- 2025-07-02 非DBA原来是这样设计关系数据表的
- 2025-07-02 高并发下实现幂等的几种方式(高并发如何解决方案)
- 2025-07-02 [JPA教程]02.认识JPA的注解.md(jpa的@query注解)
- 2025-07-02 为啥不推荐使用外键?(什么情况下用外键)
- 2025-07-02 MYSQL存储引擎InnoDB(二):使用注意点
- 2025-07-02 MySQL数据库最常用操作(mysql常见操作)
- 2025-07-02 表格存储 SQL 查询多元索引(表格存储 sql 查询多元索引信息)
- 2025-07-02 雪花算法(雪花算法使用)
- 2025-07-02 MySQL的普通索引和唯一索引到底什么区别?
- 2025-07-02 查询中,有没有可能多个索引一起用呢?
- 1507℃桌面软件开发新体验!用 Blazor Hybrid 打造简洁高效的视频处理工具
- 510℃Dify工具使用全场景:dify-sandbox沙盒的原理(源码篇·第2期)
- 486℃MySQL service启动脚本浅析(r12笔记第59天)
- 466℃服务器异常重启,导致mysql启动失败,问题解决过程记录
- 464℃启用MySQL查询缓存(mysql8.0查询缓存)
- 444℃「赵强老师」MySQL的闪回(赵强iso是哪个大学毕业的)
- 423℃mysql服务怎么启动和关闭?(mysql服务怎么启动和关闭)
- 419℃MySQL server PID file could not be found!失败
- 最近发表
- 标签列表
-
- c++中::是什么意思 (83)
- 标签用于 (65)
- 主键只能有一个吗 (66)
- c#console.writeline不显示 (75)
- pythoncase语句 (81)
- es6includes (73)
- windowsscripthost (67)
- apt-getinstall-y (86)
- node_modules怎么生成 (76)
- chromepost (65)
- c++int转char (75)
- static函数和普通函数 (76)
- el-date-picker开始日期早于结束日期 (70)
- js判断是否是json字符串 (67)
- checkout-b (67)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- & (66)
- java (73)
- js数组插入 (83)
- linux删除一个文件夹 (65)
- mac安装java (72)
- eacces (67)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)