Home » RDBMS Server » Performance Tuning » View index
View index [message #64985] |
Wed, 24 March 2004 06:05 |
bill
Messages: 75 Registered: November 1999
|
Member |
|
|
I am trying to tune a very large query that gets part of the results from a view. Basically I have something like this:
CREATE OR REPLACE VIEW v1 as )
select pk_1 key_col, etc
from tab1
union al
select pk_1 key_col, etc
from tab2
union all
select pk_1 key_col, etc
from tab3);
I am joining to this view by key_col (primary key for each table). What is happening is a full table scan on each table in the view. This is probably a very basic question but, is there a way around these full table scans? I have to use this view in the query.
I appreciate any help you can offer me!!!
Thanks,
Bill
|
|
|
I was a little off but still need help tuning. [message #64986 is a reply to message #64985] |
Wed, 24 March 2004 07:15 |
bill
Messages: 75 Registered: November 1999
|
Member |
|
|
If I query the view directly, it will use the index. Here is the exact query I am trying to tune:
select rec_type,
c.dir_cd,
c.dir_seq,
c.dir_title,
b.eic,
b.eic_title,
b.eic_seq,
data_dt,
start_dt,
cmplt_dt,
qac,
bqws,
bqwp,
aqwp,
bac,
bcws,
bcwp,
acwp,
ot,
auth_qac
from
(
select rec_type,
c.eic_seq,
d.dir_seq,
a.data_dt data_dt,
min(c.start_dt) start_dt,
max(c.cmplt_dt) cmplt_dt,
sum(nvl(a.qac,0)) qac,
sum(nvl(a.bqws,0)) bqws,
sum(nvl(a.bqwp,0)) bqwp,
sum(nvl(a.aqwp,0)) aqwp,
sum(nvl(a.bac,0)) bac,
sum(nvl(a.bcws,0)) bcws,
sum(nvl(a.bcwp,0)) bcwp,
sum(nvl(a.acwp,0)) acwp,
sum(nvl(a.ot,0)) ot,
sum(nvl(a.auth_qac,0)) auth_qac
from vw_pcn_wc_data a,
project b,
pcn c,
lkup_wc d
where a.project_seq = b.project_seq
and a.wc_seq = d.wc_seq
and b.pcn_seq = c.pcn_seq
group by rec_type,
a.data_dt,
c.eic_seq,
d.dir_seq
) a,
lkup_eic b,
lkup_directorate c
where a.eic_seq = b.eic_seq
and a.dir_seq = c.dir_seq
and b.eic_seq = 5185 and c.dir_seq = 226;
The last line 'and b.eic_seq = 5185 and c.dir_seq = 226' is added dymanically at runtime. They are the primary keys for their respective tables. They are also indexes on the PCN and lkup_wwc tables. When I run this query it doesn't use these. Any ideas why?
Thanks again!
|
|
|
|
Goto Forum:
Current Time: Fri Nov 29 20:57:48 CST 2024
|