У меня есть простой запрос, выполнение которого занимает около 2 минут по сравнению с 8 секундами при выполнении с жестко закодированным значением.
SELECT *
FROM TABLE_A
WHERE TRANSACTION_DATE = (SELECT PREV_WORKING_DAY
FROM TABLE_B )
SELECT PREV_WORKING_DAY FROM TABLE_B
возвращает '20 -JUN-2019 '.
И TRANSACTION_DATE, и PREV_WORKING_DAY имеют формат даты.
Когда мы жестко кодируем дату в выводе запроса, это 100 миллисекунд
SELECT *
FROM TABLE_A
WHERE TRANSACTION_DATE = '20-JUN-2019'
Всего записей = 82 000
Любая идея, что вызывает задержку при использовании подзапроса и как мы можем оптимизировать то же самое.
Я знаю, что могу конвертировать то же самое в PL / SQL и присвоить значение переменной, но все же я хочу понять, что вызывает задержку.спасибо