日期:2014-05-16  浏览次数:20958 次

oracle count(*) 与count(1) 的区别
求助:count(*) 与count(1)在oralce是怎样执行的,执行效率谁更甚。

统计的表数据: 记录数1千万+ ,主键是32位字符UUID,表字段15列左右。

------解决方案--------------------
count(*) 与count(1)一样的
------解决方案--------------------
一般情况下select count(*) 与 count(1) 执行的结果是一样的,都包括了对null的统计.

 但是,select count(列名) 不包括null的统计.

如果表没有主键,则 select count(*)  的执行效率优于 count(1).

如果有主键,则 select count(主键)的执行效率是最优的.

如果表只有一个字段,则 select count(*)最优.
------解决方案--------------------
几乎是一样的
------解决方案--------------------
约等于一样。
------解决方案--------------------
看看这个:http://blog.csdn.net/szstephenzhou/article/details/8446481