RE: Slow running Query.

  • From: "Lex de Haan" <lex.de.haan@xxxxxxxxxxxxxx>
  • To: <oracle-l@xxxxxxxxxxxxx>
  • Date: Tue, 22 Jun 2004 19:33:02 +0200

Juan,
in your case you don't even need the nvl function -- because the result is
always 3.
the problem occurs with the empty set. check this out:

SQL> create table blah(c1 number);
Table created.

SQL> select nvl(sum(c1),0), sum(nvl(c1,0)) from blah;

NVL(SUM(C1),0) SUM(NVL(C1,0))
-------------- --------------
             0

SQL>

Kind regards,
Lex.

---------------------------------------------
visit my website at http://www.naturaljoin.nl <http://www.naturaljoin.nl>
---------------------------------------------



-----Original Message-----
From: oracle-l-bounce@xxxxxxxxxxxxx
[mailto:oracle-l-bounce@xxxxxxxxxxxxx]On Behalf Of Juan Carlos Reyes
Pacheco
Sent: Tuesday, June 22, 2004 18:21
To: oracle-l@xxxxxxxxxxxxx
Subject: RE: Slow running Query.


Hi Lex, why you say that, could you showme why please

I show you why I say is the same:
 SQL> select * from test;

      TEST
----------
         1

         2

Transcurrido: 00:00:00.00
SQL> select count(*) from test where test is null;

  COUNT(*)
----------
         1

Transcurrido: 00:00:00.00
SQL> select sum(nvl(test,0)) from test;

SUM(NVL(TEST,0))
----------------
               3

Transcurrido: 00:00:00.00
SQL> select nvl(sum(test),0) from test;

NVL(SUM(TEST),0)
----------------
               3

Transcurrido: 00:00:00.00


-------Original Message-------

From: oracle-l@xxxxxxxxxxxxx
Date: 06/22/04 12:43:39
To: oracle-l@xxxxxxxxxxxxx
Subject: RE: Slow running Query.

Juan,

unfortunately sum(nvl(column,0)) is not equivalent to nvl(sum(column),0)..

Kind regards,
Lex.

---------------------------------------------
visit my website at http://www.naturaljoin.nl
---------------------------------------------


-----Original Message-----
From: oracle-l-bounce@xxxxxxxxxxxxx
[mailto:oracle-l-bounce@xxxxxxxxxxxxx]On Behalf Of Juan Carlos Reyes
Pacheco
Sent: Tuesday, June 22, 2004 17:15
To: oracle-l@xxxxxxxxxxxxx
Subject: RE: Slow running Query.


Hi, I will do t he following


Try creating function indexes on composed columns you are queryin and tellme
if this improves something
For example you are using as_date in the where column, but you don't have a
index on substr(ca_date,1,4,....

Only to avoid unncesary plsql work
1. instead sum(nvl(column,0)) I'll use nvl(sum(column),0
2. instead of decode use case


-- Binary/unsupported file stripped by Ecartis --
-- Type: text/x-vcard
-- File: Lex de Haan.vcf


----------------------------------------------------------------
Please see the official ORACLE-L FAQ: http://www.orafaq.com
----------------------------------------------------------------
To unsubscribe send email to: oracle-l-request@xxxxxxxxxxxxx
put 'unsubscribe' in the subject line.
--
Archives are at //www.freelists.org/archives/oracle-l/
FAQ is at //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@xxxxxxxxxxxxx
put 'unsubscribe' in the subject line.
--
Archives are at //www.freelists.org/archives/oracle-l/
FAQ is at //www.freelists.org/help/fom-serve/cache/1.html
-----------------------------------------------------------------


-- Binary/unsupported file stripped by Ecartis --
-- Type: text/x-vcard
-- File: Lex de Haan.vcf


----------------------------------------------------------------
Please see the official ORACLE-L FAQ: http://www.orafaq.com
----------------------------------------------------------------
To unsubscribe send email to:  oracle-l-request@xxxxxxxxxxxxx
put 'unsubscribe' in the subject line.
--
Archives are at //www.freelists.org/archives/oracle-l/
FAQ is at //www.freelists.org/help/fom-serve/cache/1.html
-----------------------------------------------------------------

Other related posts: