面试问题记录-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/
作者
Cason Mo
发布于
2022年8月1日
许可协议