阿里规范 - 五、MySQL 数据库 - (三)SQL语句 - 1 - 【强制】不要使用 count(列名)或 count(常量)来替代 count(*),count(*)是 SQL92 定义的 标准统计行数的语法,跟数据库无关,跟 NULL 和非 NULL 无关。
2023-09-14 09:00:31 时间
1、count(1) vs count()
两者都统计NULL值;但 count()是 SQL92 定义的 标准统计行数的语法,跟数据库无关
且 坊间有传言 MySQL会对count(*)做优化
不要用 count(1)
2、count(列名) vs count(*)
count(列名) 会去过滤NULL。
3、count(主键) vs count(*)
小数据量 几乎无差 大数据量 需要进一步测试
根据 ”暂不知道怎么选 就听阿里的”原则
用 count(*)
相关文章
- ASP如何连接MySQL数据库(asp怎么连接mysql)
- 详解MySQL数据库语句解析:从入门到精通(mysql数据库语句)
- 还原MySQL数据库中的引号(mysql去掉引号)
- MySQL数据库损坏:如何进行修复(mysql数据库损坏修复)
- MySQL表中删除字段的方法(mysql表删除字段)
- 是否存在MySQL:如何判断值是否存在?(mysql判断值)
- MySQL查询表:查询字段详解(mysql查询表的字段)
- MySQL中所有表和字段的深入探讨(mysql所有表及字段)
- MySQL二级考试:考验你的专业技能(mysql二级考试)
- MySQL链接最佳实践:简单易操作(mysql链接方式)
- MySQL 对中文排序的挑战(mysql对中文排序)
- MySQL主从配置:解决删除的难题(mysql主从配置删除)
- 使用 MySQL 数据库管理系统实现父节点的操作方法(mysql父节点)
- 如何设计高效的MySQL数据表(mysql数据表的设计)
- DBF格式数据如何导入MySQL数据库(dbf导入mysql)
- 快速上手:使用MySQL导入数据库(mysql导入一个数据库)
- MySQL数据文件大小提升的调整方案(mysql数据文件大小)
- MysQL:连接未来的数据库神器(mysql (none))
- MySQL表设计:让每张表都有最佳性能(mysql表的设计)
- C语言无法连接MySQL数据库(c 不能引用mysql)
- MySQL动态表名从C实现数据库查询的深入研究(c mysql 动态表名)
- 从中心连接MySQL一个枢纽点(center mysql)
- 以BCB拓展访问MySQL数据库(bcb访问mysql)
- ADO如何连接MySQL数据库(ado怎么连接mysql)
- MySQL一直是个经典的数据库选择(mysql 一直使用)
- MySQL意外关闭如何恢复您的数据(mysql不小心关闭了)