select(1)、select(*)、select(列名)区别

在SQL中,select(*)会包含所有列,包括null值。count(列名)在统计时会忽略null。主键存在的时候,count(主键)执行最快;否则,count(1)通常更优。对于单列无主键表,count()最高效。

效果上

select(*)包括了所有的列,不会忽略null的值

select(1)忽略所有列,1代表表行数,不会忽略null值

count(列名)只包括列名的哪一行,在统计结果的时候,会忽略列值为null的值

执行效率上

若列名为主键,count(列名)会比count(1)快

列名不为主键,count(1)会比count(列名)快


如果表多个列并且没有主键,则 count(1) 的执行效率优于 count()


如果有主键,则 select count(主键)的执行效率是最优的
 

如果表只有一个字段,则 select count()最优。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值