K>> А нельзя написать так:
K>> select first 1 s1.id
K>> from search(:val1) s1
K>> left join search(:val2) s2 on (s1.id = s2.id)
K>> where s2.id is not null
K>> order by ???
К> Помоему так ещё тормознутей будет, но попробую ...
К> Проблема в том что не знаешь с каким параметром
К> сколько возвратиться записей ...
Не не катит :( как я и говорил некоторый выиграш если по первому
параметру выбирается меньше чем по второму и то БЕЗ ORDER BY в
обратном случаея просто вешаю сервак всерьез и надолго :(
Наверное надо немножко обьяснить этот запрос генериться
"пулемётом" исходя из выбранных пользователем полей и значений
т.е. фактически процедура search имеет 3 параметра имя таблицы,
имя поля и отбираемое значение. Я таким образом хочу реализовать
"фильтр" с логической операцией "И" на стороне сервера и этих
"параметров" м.б. несколько ...
Построить прям по таблицах с каким либо join пока не получается
(в SP поиска чего только не нашпиговано вплоть до проверки ACL)
куча ветвлений и т.д. и т.п.
Сеёчас это делается на стороне клиента обычным фильтром с
соответственным БЕШЕННЫМ пожиранием сетевого трафика (я уж не
говорю о памяти сжираемой на "клиенте") т.к. тянется весь
многомиллионник на клиента ... Так бало сделано до меня, да и
обьемы были поменьше ... ;)
Да и на другом моём проэкте в всязи с применением ООПБД,
задницей чуствую, придётся что-то подобное искать ...
С уважением,
Константин Григорьевич.
===============
Если "низя", но очень "хотса" - то "мона" :)
--~--~---------~--~----~------------~-------~--~----~
-~----------~----~----~----~------~----~------~--~---