Re: Performance issue on Oracle 9i
Date: Thu, 11 Jan 2024 02:18:08 +0300
Message-ID: <CAOW9pnRvbS2o5_24s-Y+r6nWbWU2rtDqq2gBDz86ckX2ZCxBvA_at_mail.gmail.com>
By default null values are not indexed.
Now rewrite your query ‘s null filter as:
Nvl(t.send_date,to_date(
With this query you are filtering the nulls you are looking for.
Also apply this logic to the outer select with t1.
Hope it helps.
Osman DİNÇ
11 Oca 2024 Per, saat 01:58 tarihinde Sandra Becker <sbecker6925_at_gmail.com>
şunu yazdı:
> OS: SunOS 5.8
If you plan to query null values , you may create a functional index like
Nvl(send_date,to_date(
‘01.01.1990’,’DD.MM.YYYY’))
This index will record null values as 01.01.1990.
‘01.01.1990’,’DD.MM.YYYY’))=
to_date(
‘01.01.1990’,’DD.MM.YYYY’)
Insanedba
https://insanedba.blogspot.com
> DB: Oracle 9.2.0.5
>
> We're sitting on really old hardware with a really old version of Oracle.
> There is a project to migrate to another application, but they estimate it
> will take another 18 months given the human resources that are available.
> That being said, this is a production financial application and is
> performing extremely poorly for queries against a specific table. It's not
> a huge table, 388,000 rows, but given the age of the hardware/software, I'm
> surprised we don't have more issues.
>
> The query itself is poorly written, but I haven't figured out how to make
> it more efficient. I did manage to reduce the cost and execution time of
> the query by 50% by creating an index on the SEND_TO_DATE column--which can
> contain nulls--but it's still very slow. I also set the degree on the
> table to 8, which gave us a minor bump in performance. Any suggestions
> would be appreciated, specifically on how I can change the "not like" and
> "!=" predicates.
>
> select *
> from aps1.txn_proc t1
> where t1.tx_ref not in
> (select t.tx_ref
> from aps1.txn_proc t
> where t.send_date is null
> and t.exp_cmnt not like 'PR%'
> and t.exp_cmnt != projno||tno
> )
> and t1.send_date is null
> /
>
>
> Thank you,
>
> --
> Sandy B.
>
>
-- http://www.freelists.org/webpage/oracle-lReceived on Thu Jan 11 2024 - 00:18:08 CET