count性能

counit(*) = count(1) > count(主键字段) > count(字段)

count(1)、 count(*)、 count(主键字段)执行时,如果表里存在二级索引,优化器就会选择二级索引进行扫描。

所以,如果要执行 count(1)、 count(*)、 count(主键字段) 时,尽量在数据表上建立二级索引,这样优化器会自动采用 key_len 最小的二级索引进行扫描,相比于扫描主键索引效率会高些。

不要使用 count(字段) 来统计记录个数:效率最差,会采用全表扫描的方式来统计。如果你非要统计表中该字段不为NULL的记录个数,建议给这个字段建一个二级索引。