欢迎光临散文网 会员登陆 & 注册

【JAVA面试】—01阿里规范为什么禁止使用 count(列名)或 count(常量)来替代 coun(*)

2023-03-21 22:47 作者:老姚撸码  | 我要投稿


阿里巴巴规范SQL规范

1、我们先用一组数据测试一下几个的区别

首先,先创建一张表 ,主键id、int 类型的字段id2、varchar 类型的字段name

在往表里面插入七条数据,如下

用不同的语句测试如下

返回结果7

返回结果7

返回结果1

 返回结果2

从以上测试结果可以总结如下

2、性能方面

mysql 官网给出的解释

2.1、当字段为主键情况下:

2.2、当字段为非主键(常规字段)情况下:

count(*) 和count(1)性能一致,为什么还是要使用count(*)?因为Count(*) 是SQL92定义的标准统计行数的语法,跟数据库无关,遵守SQL规范,当数据库版本优化之后,代码不用修改,可以一劳永逸


本片文章配有专门视频讲解 【JAVA面试】—01阿里规范为什么禁止使用 count(列名)或 count(常量)来替代 coun(*)

【JAVA面试】—01阿里规范为什么禁止使用 count(列名)或 count(常量)来替代 coun(*)的评论 (共 条)

分享到微博请遵守国家法律