If this realy is about the 100th time you are having this debate than you should know that they are the same . The above timings proof nothing at all! The small time difference in Tom's test case can be caused by many, many things, but not from the way CONT(*) and COUNT(1) are executed! It is obvious that execution path is the same for all cases of COUNT(*), COUNT(1), COUNT(null), etc..., so if there was a difference in how Oracle processes all those queries, the only difference should be in the PARSE phase. However, in Tom's example there were no time difference in parse phase (as it was less than 1/100 secs in both cases, since both queries were allreday parsed in the shared pool). The only difference was in the fetch phase, when SQL engine only reads the rows (allways the whole rows, no matter if it is COUNT(*) or COUNT(1)) from database blocks! So how can you say that one is faster than the others, if both read the same rows in the same way? Because one took 1% more time than the other? You certanly know that 10 runs of each query is far from being so accurate statistical sample that 1% error should not be neglected. What if in one of the COUNT(*) runs the system (outside of Oracle) was a little more bussier performing other staf? What if in one of the COUNT(*) runs Oracle system (background processes) was a little more bussier performing regular maintainance stuff? What if in one of the COUNT(*) runs Oracle system (other user server processes) was a little mor bussier serving some other session?

"COUNT(*) is slower than COUNT(1)" is just another popular Oracle myth, just like "many extents is a bad thing for performance". Just a myth, nothing more. Take a look at another, more exaustive Tom's thread on this topic (read the whole thread!), http://asktom.oracle.com/pls/ask/f?p...0_P8_DISPLAYID,F4950_P8_CRITERIA:1156151916789 . You'll find there cases where timing on COUNT(*) was faster than COUNT(1), yet Tom doesn't claim that COUNT(*) is faster based on this! In fact, Tom Kyte chalanges anybody to show a real repeatable test case that proofs that COUNT(*) is any different as COUNT(1). He hasn't recieved such a proof yet (and most likely he never will, as THERE IS NO DIFFERENCE!). At least this is true for Oracle 8.0 and above. In (some) Oracle 7.* there was a difference, but on the contrary of common belief, it was true that COUN(*) was faster than COUNT(1)!