虚拟主机域名注册-常见问题 → 数据库问题 → MySQL | |||||||
count(*),count(1)和count(主键)的区别
如果null参与聚集运算,则除count(*)之外其它聚集函数都忽略null. 如: ID DD 1 e 2 null select count(*) from table --结果是2 select count(DD) from table ---结果是1 有说count(1)效率高,感觉差不多..没啥区别 补充一下。 不考虑Null的情况 count(1)和count(主键) 这两个只扫描主键Index就可以得到数据, count(*)是扫描表的。 所以count(1)和count(主键)这两个效率高。 还有一种写法是count(ROWID)这也是只扫描Index的,效率高。 这个帖子里面的楼主的测试数据,不知道在什么情况下。 我在300万业务数据上测试的结果是count(ROWID),count(1),count(主键)这个三种情况速度差不多, count(*)这种明显慢,察看执行计划,COUNT(*)时候走的是全表查询。
|
|||||||
>> 相关文章 | |||||||
发表评论 | |||||||