聚合函数count(*)

结论:count(字段)<count(id)<count(1)≈count(*)

count(*)的实现方式

  1. MyISAM把一个表的总行数储存在磁盘里,count(*)直接返回
  2. InnoDB一行一行读,累计计数

统计表行数(不准确)

show table status

count(*)、count(主键id)和count(1) 都表示返回满足条件的结果集的总行数;

而count(字段),则表示返回满足条件的数据行里面,参数“字段”不为NULL的总个数。

count不同用法的执行过程:

  • count(id):取id值,累加
  • count(1):不取值累加
  • count(字段):取值,判断是否为null,累加
  • count(*):做了优化,不取值累加

 

posted @ 2020-03-31 15:25  花花妹子。  阅读(586)  评论(0编辑  收藏  举报