Я пытаюсь соединить две хранимые процедуры в запросе Firebird. В моем примере данные первый возвращает 70 записей, второй только 1 запись.
select
--...
from MYSP1('ABC', 123) s1
left join MYSP2('DEF', 456) s2
on s1.FIELDA = s2.FIELDA
and s1.FIELDB = s2.FIELDB
Проблема в производительности: это занимает 10 секунд, а каждая процедура занимает меньше 1 секунды. Я подозреваю, что процедуры выполняются несколько раз, а не один раз. Имеет смысл выполнить их только один раз, потому что я передаю им фиксированные параметры.
Есть ли способ заставить Firebird просто выполнять каждую процедуру один раз, а затем объединять их результаты?
FIELDA
иFIELDB
произвольными сгенерированными данными или они являются подмножеством, взятым из какой-то таблицы словаря? - person Arioch 'The   schedule 10.10.2017