Я хотел бы попросить некоторую помощь относительно настройки 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