How to pass bind variable value into a view

From: UXDBA <unixdba73_at_googlemail.com>
Date: Thu, 8 Oct 2009 11:54:54 -0700 (PDT)
Message-ID: <6af2dd8d-422b-43e1-ab51-99f76861b827_at_31g2000vbf.googlegroups.com>



All,

RDBMS : 9.2.0.8 I have the following query:

select * from v1 where v1_col1=:BIND_VAR

v1 is a view:

create view v1
(v1_col1, v1_col2)
as
select t1.col1, t2.col2 from t1,t2
where t1.col1=t2.col2

t1.col1 - unique index,
t2.col2 - non unique index.

Noticed that:

select * from v1 where v1.col1=?

takes about 60sec to execute.

however,

select * from ( select t1.col1, t2.col2 from t1,t2 where t1.col1=t2.col2
and t1.col1=:BIND_VAR)

takes 1 sec to execute.

mainly here rowsource is reduced when t1.col1 is taken alongwith inner query.

question:

  1. Is there any way we can pass bind variable to the inner query with using view v1 ( i know BIND var cannot be passed to DDL)but any other way you would suggest to achieve the same result.

Regards Received on Thu Oct 08 2009 - 13:54:54 CDT

Original text of this message