关于count(*)和count(1)效率问题

2025-02-26 02:50:21
推荐回答(2个)
回答1:

船哥...认真学习呢...
这个肯定是错的...
如果你的数据表没有主键,那么count(1)比count(*)快
如果有主键的话,那主键(联合主键)作为count的条件也比count(*)要快
如果你的表只有一个字段的话那count(*)就是最快的啦
count(*) count(1) 两者比较。主要还是要count(1)所相对应的数据字段。
如果count(1)是聚索引,id,那肯定是count(1)快。但是差的很小的。
因为count(*),自动会优化指定到那一个字段。所以没必要去count(1),用count(*),sql会帮你完成优化的
因此:count(1)和count(*)基本没有差别

回答2:

不对吧,虽然说有主键的有索引,但是count好像和索引检索没啥关系,都是查所有的记录