- count执行过程
server成维护一个count变量,自增.server层循环向innodb读取记录,innodb每次读取完成之后返回给客户端,服务层检查记录符不符合 Count(条件),如果符合,count+1 - count常见类型
count (1): 查看表的所有记录
count(字段名) 查看字段名不为空的记录数 - count(主键)的执行过程
若表中只有主键索引,没有二级索引,会去哪表扫描主键索引,如果有二级索引,会全表扫描二级索引,因为二级索引数据少.
扫描->返回数据–>server层读取->判断主键字段是否为空->+1 - count(1)
有二级索引扫描二级索引,没有扫描主键索引
扫描–>返回–>server层不读取–>+1 - count(*)
- count(字段)
- 比较
count(*)=count(1)>count(主键)>count(字段)
mysql之count(*) 和 count(1) 有什么区别?哪个性能最好?
最新推荐文章于 2024-06-17 14:41:35 发布