Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Mailing Lists -> Oracle-L -> RE: Difference between count(1) and count(*)

RE: Difference between count(1) and count(*)

From: Bobak, Mark <Mark.Bobak_at_il.proquest.com>
Date: Thu, 8 Jul 2004 10:36:31 -0400
Message-ID: <4C9B6FDA0B06FE4DAF5918BBF0AD82CF09660BA6@bosmail00.bos.il.pqe>


Who needs count(*) or count(anything)?

Try this:
select -1/2+1/2*sqrt(1+8*sum(rownum)) from wi_cumulative;  ;-)

(Shamelessly stolen from the AskTom thread, originally posted by Mikito = Harakiri.)

-Mark

-----Original Message-----
From: oracle-l-bounce_at_freelists.org
[mailto:oracle-l-bounce_at_freelists.org]On Behalf Of Mladen Gogala Sent: Thursday, July 08, 2004 10:32 AM
To: oracle-l_at_freelists.org
Subject: Re: Difference between count(1) and count(*)

On 07/08/2004 09:40:17 AM, Peter Miller wrote:
> 1,749,951 rows returned in every case

>=20

> count(rowid) - approx 3.2 secs
> count(obj#) - approx 3.5 secs
> count(1) - approx 3.6 secs
> count(*) - approx 3.6 secs
> count(rownum)- approx 4.6 secs
> count(source)- approx 8.6 secs

>=20

Connected to:
Oracle9i Enterprise Edition Release 9.2.0.5.0 - Production With the Partitioning option
JServer Release 9.2.0.5.0 - Production
=20
SQL> set timing on
SQL> select count(*) from wi_cumulative; =20
  COUNT(*)



  12148659
=20
Elapsed: 00:00:20.16
SQL> select count(rowid) from wi_cumulative; =20
COUNT(ROWID)

    12148659
=20
Elapsed: 00:00:20.62
SQL> select count(1) from wi_cumulative; =20
  COUNT(1)



  12148659
=20
Elapsed: 00:00:21.52
SQL> select count(null) from wi_cumulative; =20
COUNT(NULL)

          0
=20
Elapsed: 00:00:19.12
SQL> Tanel's favorite way of counting differed from the real count for only = about 12 million rows,
and it wasn't that much faster, so the difference doesn't justify lack = of precision.
--=20
Mladen Gogala
Oracle DBA

Note:
This message is for the named person's use only. It may contain = confidential, proprietary or legally privileged information. No = confidentiality or privilege is waived or lost by any mistransmission. = If you receive this message in error, please immediately delete it and = all copies of it from your system, destroy any hard copies of it and = notify the sender. You must not, directly or indirectly, use, disclose, = distribute, print, or copy any part of this message if you are not the = intended recipient. Wang Trading LLC and any of its subsidiaries each = reserve the right to monitor all e-mail communications through its = networks.
Any views expressed in this message are those of the individual sender, = except where the message states otherwise and the sender is authorized = to state them to be the views of any such entity.



Please see the official ORACLE-L FAQ: http://www.orafaq.com

To unsubscribe send email to: oracle-l-request_at_freelists.org put 'unsubscribe' in the subject line.
--
Archives are at http://www.freelists.org/archives/oracle-l/
FAQ is at http://www.freelists.org/help/fom-serve/cache/1.html
-----------------------------------------------------------------
----------------------------------------------------------------
Please see the official ORACLE-L FAQ: http://www.orafaq.com
----------------------------------------------------------------
To unsubscribe send email to:  oracle-l-request_at_freelists.org
put 'unsubscribe' in the subject line.
--
Archives are at http://www.freelists.org/archives/oracle-l/
FAQ is at http://www.freelists.org/help/fom-serve/cache/1.html
-----------------------------------------------------------------
Received on Thu Jul 08 2004 - 09:33:22 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US