UPDATE TABLE SET SOMETHING = 1 WHERE ID IN (SELECT ID FROM STORED_PROCEDURE)
Записей в ТАБЛИЦЕ = 2100
Записи из хранимой процедуры = 50
Это утверждение связано с огромным количеством выборок (31M!) на сервере Firebird 2.5. Почему? Разве он не должен сначала выбрать идентификатор из хранимой процедуры, а затем поместить его в предложение where? Что я должен сделать, чтобы заставить его работать?
WHERE ID IN (SELECT ID FROM STORED_PROCEDURE)
. Но изменится ли производительность, если вы пропустите хранимую процедуру и примените фильтры напрямую? - person Andriy M   schedule 29.04.2011