Как настроить SQL? - PullRequest
       26

Как настроить SQL?

0 голосов
/ 30 мая 2019

Я хотел бы попросить некоторую помощь относительно настройки 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" такая же, я только назначил пересылку в таблицы. Пожалуйста, смотрите полный код здесь: https://drive.google.com/open?id=1KAoupkleVySjYqX_sVDdWMETfc8JlOXR

...