天天看点

MySQL:count(*),count(1),count(col)的区别

最近感觉大家都在讨论count的区别,那么我也写下吧:欢迎留言讨论

1、表结构:

2、插入测试数据:

测试:

那么这里面的"key_length": "33",为什么是33呢,什么是二级索引?见下节

count(*) 和count(1) 是没有区别的,而count(col) 是有区别的

执行计划有特点:可以看出它没有查询索引和表,有时候会出现select tables optimized away 不会查表,速度会很快

Extra有时候会显示“Select tables optimized away”,意思是没有更好的可优化的了。

继续阅读