面试问题记录-Mysql select count(1)、count(*)、count(column)
摘抄自网络
count(*):先把星号翻译为具体字段名字,多了一步翻译,效率差点
count(1):计算有多少符合条件的行,可以理解为每行数据存在某个值固定的字段,计算有多少个固定值
从结果来说:
- count(*) 和 count(1) 没区别,都不会过滤 NULL
- count(column) 会过滤 NULL
从速度来说:
- 如果只有一列,count() 效率最高
- 多列时,count(1) 效率高于 count()
- 如果列为主键,count(column) 效率最高
- 如果列不为主键,count(1) 效率比 count(column) 效率高
面试问题记录-Mysql select count(1)、count(*)、count(column)
https://cason.work/2022/08/01/面试问题记录-Mysql-select-count-1-、count-、count-column/