Страница 1 из 1

Корпо-обмен. Запросы.

Добавлено: 08 дек 2004, 12:40
bublik
Объясните, пожалуйста, как работают "запросы к БД" в корпо-обмене? Имеет ли влияние на скорость и "правильность" выборки форма построения "связей таблиц". Например,выборка по таблицам plpor и basefin, и два возможных варианта построения связей:
1) basefin.cplpor == plpor.nrec
2) plpor.nrec == basefin.cplpor
плюс фильтр по контрагенту. В обычном SQL-запросе первый вариант будет выполнятся на мноооого быстрее чем второй, т.к. в basefin есть индекс по контрагенту, а в plpor нет. А что происходит с Корпо-запросами? Они выполняются по журналу или таблицам? Логично что по журналу, но там нет ТАКИХ индексов!
Как вообще формируется выборка по корпо-запросам?!?!? Что будет происходить для первого варианта связей таблиц - выборка из журнала всех basefin по контрагенту и соотв. им записей в plpor (но только присутствeющие в журнале), так? Т.к. одина запись в plpor может имеет несколько записей в basefin не будет ли выборка по plpor избыточной (имет повторяющиеся записи, которые потом полезут в конфликты)? И какой вариант построения связей в корпо запросе будет работать быстрее? В книжках про это ничего нет. Подскажите как ЭТО работает!!!!

Re: Корпо-обмен. Запросы.

Добавлено: 10 дек 2004, 16:48
yuri_z
Оно прямо-то толком не работает. Выборка из журнала для отправки будет идти дольше по откомпилированным запросам, но корректность этого хозяйства еще никто не гарантировал. Хотя смелым покоряются вершины. Даже тестовый прогон не гарантирует,что выборка будет выполняться всегда нормально.

Re: Корпо-обмен. Запросы.

Добавлено: 14 дек 2004, 12:44
bublik
Но кто-то же придумал КОРПО-ЗАПРОСЫ!?!?!
Или тот дедушка которые это разработал давно умер и никто не знает как это работает? РАЗРАБОТЧИКИ ОТЗОВИТЕСЬ!!!!!!!!!

Re: Корпо-обмен. Запросы.

Добавлено: 23 дек 2004, 13:34
IgorK
Я использовал запросы. Насчет быстродействия - не скажу. У Галы все запросы проходят через собственные драйвера. И даже с MS-SQL при выборке работает через хранимые процедуры :-(
Сначала отсылает все, что отсылается по таблицам. Затем отсылает то, что указано в запросах. По практике использования могу сказать, что отсылается не всегда все - нужно отслеживать, если идет корректировка давно забытых данных :-), т.е. тех, которые уже отослались так с неделю тому назад. Данные выбирает, как понял, по корневой таблице запроса. Если нет таковых, то и не пройдет выборка, но могу и ошибаться - не я писал ;-).