MySQL count的用法

149 阅读1分钟

count(*)

返回满足条件的记录数。专门进行优化

count(主健ID)

返回满足条件的记录数。InnoDB存储引擎会遍历所有的主键,返回给Server层。Server层会判断是否为空,不为空则进行累加。

count(字段)

返回满足条件但字段不是null的记录数。 分为两种情况 一、如果字段定义为not null,则一行行取出来进行累加。 二、如果字段定义为允许为null,则取出来之后,还需要判断字段是否允许为null,不为null才进行累加。

count(1)

返回满足条件的记录数。InnoDB会遍历整张表,与count(主键ID)不同的是,它不取值。直接返回给Server层。Server层会判断是否为空,不为空则进行累加。

结论

count(字段) count(主键ID) count(1) count(*)