zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

阿里规范 - 五、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(*)