如何进行SQL调优?

时间:2019-05-30 14:08:33

标签: sql plsql oracle-sqldeveloper

我想寻求有关SQL调优的帮助。我需要优化现有的生产SQL查询,以在不占用高速缓存的情况下有效运行。

我试图在数据库表中插入“ from”部分,然后从那里插入源,但是合并该查询的工作使其运行明显变慢。

这是预更改:

FROM (  SELECT /*+ FULL(A) FULL(B) PARALLEL(A,10) PARALLEL(B,10) */
           A.*, B.CCNA, B.CCNA_NAME
        FROM TMP2 A, CNA B
        WHERE A.DOCUMENT_NUMBER = B.DOCUMENT_NUMBER(+)
     ) A,

   (SELECT /*+ FULL(A) FULL(B) PARALLEL(A,10) PARALLEL(B,10) */
           A.*, B.STATE
            FROM    (
                    SELECT /*+ FULL(A) FULL(B) PARALLEL(A,10) PARALLEL(B,10) */
                        A.*, B.USOC
                    FROM TMP1 A, COSS B
                    WHERE A.SERV_ITEM_ID = B.SERV_ITEM_ID(+)
                    ) A,
    STATE B
         WHERE A.SERV_ITEM_ID = B.SERV_ITEM_ID(+)) B
 WHERE A.DOCUMENT_NUMBER = B.DOCUMENT_NUMBER(+)

这是发布后更改:

FROM   TMP_TMP2 A,
        TMP_TMP1_B B 
WHERE A.DOCUMENT_NUMBER = B.DOCUMENT_NUMBER(+);

“ from”部分是相同的,我只是将postchange分配到了表中。 请在此处查看完整的代码:https://drive.google.com/open?id=1KAoupkleVySjYqX_sVDdWMETfc8JlOXR

0 个答案:

没有答案