2

これは、2 つのビューの簡略化されたバージョンです。

viewA is select * from myTable;
viewB is select * from viewA;

viewB から選択すると、viewA という別のレイヤーがあるため、viewA から直接選択する場合と viewB から選択する場合とでパフォーマンスに違いはありますか?

4

1 に答える 1

3
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

私の答えは次のとおりです。いいえ、パフォーマンスに違いはありません。

于 2013-09-08T00:41:11.227 に答える