Я совершенно новичок в PL / SQL. Я использую следующий вложенный оператор CASE в запросе SELECT. Это следует за предложением WHERE. Однако запрос занимает около 6 минут из-за этой вложенности. Если удален хотя бы один блок CASE, выполнение запроса занимает около 1 минуты. Есть ли способ оптимизировать этот запрос?
(case
when a = 'STAGE PAYMENT' then
'Y'
when b not IN ('To be Received', 'Received') then
'N'
when c != (d - NVL(e, 0) - NVL(f, 0) - NVL(g, 0)) then
'Y'
when NVL(h, 0) + NVL(i, 0) + NVL(j, 0) <> 0 then
case
when c != k then
'Y'
when (-l != NVL(e, 0) + NVL(f, 0) + NVL(g, 0) + NVL(m, 0)) then
'Y'
else 'N'
end
else 'N'
end = 'Y')
Я пытался использовать блоки IF-ELSE, но это не помогло.