Oleg Troyansky
Ну, эти 3 оператора совсем разные и решают разные задачи. Когда нужно загрузить только те значения справочника, которые существуют в факте, то я обычно использую Where exists (), хотя keep работает не хуже. Join бывает медленным на больших данных, но без него не обойтись, если нужно объединить данные из двух таблиц в одну. В вашем примере, самое медленное пожалуй это GROUP BY. Тут я бы постарался извернуться и найти другое решение, без GROUP BY...
Пробовал схему предложенную выше:
"Zayav:
NoConcatenate LOAD
USERID,
DATE,
IDZAYAV,
Autonumber(recno(), USERID) as ZayvNo
Resident Zayav_temp
WHERE Autonumber(recno(), USERID) <=1
Order by USERID,DATE desc;
drop table Zayav_temp;"
На поверку оказалось ещё медленнее чем group by.