Показать сообщение отдельно
Старый 22.03.2012, 14:21   #1  
Dreadlock is offline
Dreadlock
Участник
Аватар для Dreadlock
 
298 / 224 (8) ++++++
Регистрация: 07.05.2009
Адрес: Москва
Множественные запросы по DataArea и VirtualDataAreaList
Столкнулся с проблемой производительности при первичном открытии формы, после перехода на DAX 2009.

Ситуация следующая:
В системе есть примерно 2000 компаний и еще ~20 виртуальных компаний. При открытии тогоже стандартного плана счетов, система начинает делать множественне запросы к DataArea и VirtualDataAreaList. В Ledgertable план счетов настроен на одну виртуальную компанию, т.е. у всех один план счетов. В итоге первый раз форма открывается у пользователей от 1 до 3х минут. В последующие разы запросы уже не уходят к БД.
Да, в инфологе пишет, что план запроса используется повторно, но кол-во запросов меня пугает ~3000

Посмотрел на метод CursorNotify источника данных на строчке:
X++:
ledgerTableCache = ledgerTable_ds.getFirst(0,false);
начинаются множественные запросы.

если сделать:
X++:
ledgerTableCache = ledgerTable_ds.getFirst(0, true);
то работает еще хуже.

В общем, как разогнать не понятно.

Есть идеи?

P.S. пробовал коментить все кроме super(), в CursorNotify но это ни к чему не привело.

Последний раз редактировалось Dreadlock; 22.03.2012 в 14:45.