Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: A technical question about VIEWS
Hi
Any query condition is merged with view definition to create the output.
Oracle in one of the documents explains it with examples.
An example can be table a and b
with view ab as follows
create view ab as (select * from a,b where a.a = b.b); and you have a condition on for column c in table a like a.c = 10
select * from ab where ab.c = 10;
While executing this query oracle will execute
select * from a, b
where a.a = b.b
and a.c = 10;
The above is true in all the cases except for when view is created by group by clause.
Pratap
NNOOR <Nnoor_at_cris.com> wrote in article
<5hco8f$f85_at_chronicle.concentric.net>...
>
> I know what views are. I want to know how views handle queries which
> run against them. Is the view first built and then user's query is
> satisfied from the result set (ofcourse, when NOT running SELECT *), or
> the view is built only for the records which also satisfy user's
> query--i.e. dynamically changing it's query. Following example will
> explain the question I am trying to ask...
>
> Lets say a view is built by joining x tables. And if the Select * is
> run for the view then, say, it returns 10,000 rows. Now if a query is
> run against the view with a selection criteria which will result in, say,
> only 10 rows. How will Oracle handle this situation. Will it first create
> the view with 10,000 rows and then run the user's query on the result
> set or it will dynamically add the selection criteria to the view's
> query so that a result set with only 10 records is built?
>
> I am trying to establish that how "expensive" the view operation is
> for internal application development purposes...
>
> Thanks very much for your help!
>
> Regards,
> Nasir (nnoor_at_cris.com)
>
Received on Fri Mar 28 1997 - 00:00:00 CST