count(*),count,count(c_bh)效率问题

Posted 月图灵

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了count(*),count,count(c_bh)效率问题相关的知识,希望对你有一定的参考价值。

平时写count()语句时,括弧里面写的是什么? count(*)?count(1)?count(主键)? 有对比过他们的效率,看过执行计划吗?
针对上面疑问,楼主做了实验,并得出以下结论:

1、abase执行计划:count()、count(1)是选取了一个整型索引字段进行查询的。
2、sybase执行计划:count(
)、count(1)、count(主键)是选取了一个整型索引字段进行查询的。
3、abase执行效率:count()>=count(1)>=count(整型索引字段)>count(字符索引字段)>count(字符主键)>count(整型非索引字段)
4、sybase执行效率:count(
)=count(1)=count(整型主键)>count(整型索引字段)>count(字符索引字段)>count(整型非索引字段)
5、abase与sybase的count() 括号里面都是是判断是否为空的,空则不参与计算
6、非特殊场景查询,统一要求使用count(*)

以上是关于count(*),count,count(c_bh)效率问题的主要内容,如果未能解决你的问题,请参考以下文章

count(*) count count(字段)效率问题

Oracle 中count count(*) 和count(列名) 函数的区别

Mysql(18)—count(*)count 和count(字段)的区别以及count()查询优化手段

count,count(*),count(主键) 性能对比

MySQL中count是怎样执行的?———count,count(id),count(非索引列),count(二级索引列)的分析

MySQL中count是怎样执行的?———count,count(id),count(非索引列),count(二级索引列)的分析