これは、2 つのビューの簡略化されたバージョンです。
viewA is select * from myTable;
viewB is select * from viewA;
viewB から選択すると、viewA という別のレイヤーがあるため、viewA から直接選択する場合と viewB から選択する場合とでパフォーマンスに違いはありますか?
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
/
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
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
私の答えは次のとおりです。いいえ、パフォーマンスに違いはありません。