Hi, многоуважаемый All!
Не подскажете как оптимизировать ?
есть процедурка которая ишет id-шки
по заданным параметрам есть задача
вернуть 1-й одинаковый id который
встречается для поиска по первому
и по второму параметру ...
Процедурка ищет по таблицам миллионникам
и как правило для 1-го из параметров
возвращается 5-10 id а для друго-го
может возвращать до 200-300 тыс :(
Пока решил так:
select first 1 id from (
select id, 1 a from Search(:val1)
union
select id, -1 a from Search(:val2)
) group by id having sum(a) = 0
, но сам вижу хреново :( фечит всё ...
Нельзя ли как нибуть извернутся ?
PS: Кстати если последнюю строку заменить на:
) where sum(a) = 0
то стабильно падает IBE а в логе FB пишет:
internal gds software consistency check (EVL_expt: invalid operation (232),
file: evl.cpp line: 1105)
XNET error (xnet:2045) connection lost: another side is dead
Понимаю что фигня написана, но падать :)
С уважением,
Константин Григорьевич.
===============
Если "низя", но очень "хотса" - то "мона" :)
--~--~---------~--~----~------------~-------~--~----~
-~----------~----~----~----~------~----~------~--~---