Reputation: 396
This is simplified version of two views:
viewA is select * from myTable;
viewB is select * from viewA;
Is there any performance difference between selecting from viewA directly and selecting from viewB because selecting from viewB has another layer which is viewA?
Upvotes: 2
Views: 113
Reputation: 1565
CREATE OR REPLACE FORCE VIEW "VIEWA" ("TITLE", "VALUE1", "VALUE2", "ID") AS
select "TITLE","VALUE1","VALUE2","ID" from dati
/
CREATE OR REPLACE FORCE VIEW "VIEWB" ("TITLE", "VALUE1", "VALUE2", "ID") AS
select "TITLE","VALUE1","VALUE2","ID" from viewa
/
Explain plan for select * from viewA
Operation Options Object Rows Time Cost Bytes Filter Access
Predicates * Predicates
SELECT STATEMENT 4 1 3 268
TABLE ACCESS STORAGE FULL DATI 4 1 3 268
Explain plan for select * from viewB
Operation Options Object Rows Time Cost Bytes Filter Access
Predicates * Predicates
SELECT STATEMENT 4 1 3 268
TABLE ACCESS STORAGE FULL DATI 4 1 3 268
My answer would have to be: no, there is not any performance difference.
Upvotes: 3