Используете ли вы sqlsmith для написания ваших запросов?
Но, что более серьезно, путь вперед заключается в замене подвыборов внешними соединениями.
Как пример:
SELECT CASE WHEN NOT EXISTS (SELECT weirdfunc(x.x1)
FROM x
WHERE x.x2 = y.y2
AND x.x3 = z.z3)
THEN 'Constant'
ELSE (SELECT otherweirdfunc(x.x1)
FROM x
WHERE x.x2 = y.y2
AND x.x3 = z.z3)
END
FROM y
LEFT JOIN z USING (t);
было бы лучше и эффективнее записать как
SELECT coalesce(otherweirdfunc(x.x1), 'Constant')
FROM y
LEFT JOIN z USING (t)
LEFT JOIN x ON x.x2 = y.y2 AND x.x3 = z.z3;
Мое эмпирическое правило таково: подвыборы обычно неверны в любом месте, кроме пункта FROM
.