Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database Oracle数据库视图的性能改进_Database_Oracle_Performance - Fatal编程技术网

Database Oracle数据库视图的性能改进

Database Oracle数据库视图的性能改进,database,oracle,performance,Database,Oracle,Performance,我正在努力研究这一观点的表现。我认为物化视图可能会有所帮助,但我想知道是否可以改进查询 Primary keys fro the tables are: CONSUMER_DTL :ID CONSUMER__HDR : ID PARTICIPANT : ID P_DEVICE : ID CREATE OR REPLACE FORCE EDITIONABLE VIEW "V_TRANSACTION_HISTORY" ("ID", "TRANSACTION_DATE", "TRANSACTI

我正在努力研究这一观点的表现。我认为物化视图可能会有所帮助,但我想知道是否可以改进查询

Primary keys fro the tables are:
CONSUMER_DTL :ID
CONSUMER__HDR : ID
PARTICIPANT : ID
P_DEVICE : ID

   CREATE OR REPLACE FORCE EDITIONABLE VIEW "V_TRANSACTION_HISTORY" ("ID", "TRANSACTION_DATE", "TRANSACTION_ID", "REFUND_AMOUNT", "STATUS", "LABEL_ID", "COST_ID", "CONSUMER_ID") AS 
  SELECT ROW_NUMBER() OVER (ORDER BY CH.ID) AS ID,
               CH.TRANSACTED_ON AS TRANSACTION_DATE,
               CH.ID AS TRANSACTION_ID,
               SUM(CD.GROSS_AMOUNT) AS REFUND_AMOUNT,
               CH.STATUS AS STATUS,
               CH.LABEL_ID,
               S.ID AS COST_ID,
               CH.CONSUMER_ID
       FROM CONSUMER_DTL CD,
            CONSUMER__HDR CH,
            P_DEVICE P,
            PARTICIPANT S
       WHERE CH.ID=CD.TRANSACTION_ID
         AND CH.P_DEVICE_ID=P.ID
         AND P.ID=S.ID
             GROUP BY CH.ID,
                   CH.STATUS,
                   CH.LABEL_ID,
                   CH.TRANSACTED_ON,
                   CH.CONSUMER_ID,
                   S.ID;

首先,您应该使用SQL标准-
内部联接。。。关于…
其他一切-我们不知道。我们不知道您有多少数据,表键/索引。。除此之外,查询优化器将为您优化它。您的查询不使用任何
,其中
条件,您选择表的所有数据。因此,您没有多少可以改进的。您可以在
消费者dtl
交易id
总金额
)上建立索引,这可能会有所帮助。它应该允许直接从索引连接到consumer\u dtl表。