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

Home -> Community -> Usenet -> c.d.o.server -> Re: Why aren't these queries the same?

Re: Why aren't these queries the same?

From: damorgan <damorgan_at_exesolutions.com>
Date: Fri, 08 Mar 2002 23:05:45 GMT
Message-ID: <3C8943DC.E1B25D99@exesolutions.com>


As long as you are looking to speed things up ... try replaeing count(*) with count(1) or count(rowid).

Daniel Morgan

Ed Stevens wrote:

> I'm going through a process of identifying our biggest I/O hogs and working with
> the devleopers to fix them. One statement has us stumped. The original looks
> like this
>
> select count(*)
> from scott.table_a
> where (trunc(sysdate) - trunc(scott.table_a.mod_date) >= 12)
> /
>
> so what they are looking for are instances of mod_date that are 12 or more days
> old.
>
> We re-wrote the query to look like this
>
> select count(*)
> from scott.table_a
> where mod_date < (sysdate - 12)
> /
>
> but they don't return the same results.
>
> I did confirm that trunc(sysdate) returned the same value as sysdate and
> trunc(scott.table_a.mod_date) returned the same value as scott.table_a.mod_date.
>
> --
> Ed Stevens
> (Opinions expressed do not necessarily represent those of my employer.)
Received on Fri Mar 08 2002 - 17:05:45 CST

Original text of this message

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