У меня есть следующий запрос
UPDATE rec_analyst
SET analyst_name = (SELECT DISTINCT min (LIQA_ANALYST_LAST_NAME)
FROM LIQA
WHERE LIQA_ANALYST_ID = analyst_extern_id
AND LIQA_TS_INSERT = '15.09.2011'
)
WHERE analyst_provider_id = 4
План объяснения показывает стоимость около 4000, но загрузка базы данных составляет 100%, и даже через час это задание не готово.
Вот объяснение плана вывода:
------------------------------------------------------------------------------------
DESC |OBJECT NAME |COST| # |BYTES |
------------------------------------------------------------------------------------
UPDATE STATEMENT, GOAL =ALL_ROWS| | 34| 16572| 331440|
-------------------------------------------------------------------------------------
UPDATE |REC_ANALYST | | | |
-------------------------------------------------------------------------------------
TABLE ACCESS FULL |REC_ANALYST | 34| 16572|331440 |
-------------------------------------------------------------------------------------
SORT AGGREGATE | | | |24 |
-------------------------------------------------------------------------------------
TABLE ACCESS FULL |REC_LIQA_LOAD_INQUIRY_ANALYST |3965|1 |24 |
-------------------------------------------------------------------------------------
Как я могу его оптимизировать?