AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
NAV
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 03.12.2007, 16:47   #12  
Lucky13 is offline
Lucky13
Участник
1C
 
714 / 198 (8) ++++++
Регистрация: 21.10.2004
Цитата:
Сообщение от gl00mie Посмотреть сообщение
Если она исчисляется не миллионами, то лучше, вероятно, сделать выгрузку, перебирающую все номенклатуры (с определенными фильтрами, скажем, по бренду), а уже внутри этого перебора делающую проверку на остатки по определенному складу, на соответствие выгружаемых цен определенным критериями, etc.
Теоретически все верно, но практически что-то не очень.
Запрос:
X++:
while select inventTable
where ...
{
}
Где "..." набор некоторых ограничений. В итоге цикл выполняется 66542 раза за 32 сек.

Если в цикл добавить запрос на выборку запасов в наличии
X++:
select sum(AvailPhysical) from inventSum
join maxof(recid) from InventDim
where inventSum.InventDimId == inventDim.inventDimId && inventSum.ItemId == inventTable.ItemId && inventSum.Closed == NoYes::No && inventDim.InventLocationId == 'склад'
Запрос выполняется очень быстро. Разве что немного мешает maxof(recid), но без него на сервер уходит запрос всех полей из InventDim, что неверно. Подставить вместо recId фиктивное поле TableId не получается, хотя помнится где-то об этом на форуме писалось.

Так вот - такой цикл выполняется очень долго. Честно ждал полчаса, но безрезультатно. "Мега-запрос" хотя и имеет массу недостатков, но выполняется максимум за 3 минуты.

Вопрос что здесь не так, почему такое расхождение теории с практикой?
Теги
inventsum, inventtable, номенклатура, остатки, производительность, прайс

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Оценка производительности Axapta Object Server vesna dba DAX: Администрирование 15 29.06.2009 13:53
Проблемы быстродействия Axapta 3.0 Alexandr A. Osipkin DAX: Администрирование 37 16.02.2007 22:43
mazzy: Сравнительное тестирование производительности Microsoft Axapta v.3.0. CУБД Microsoft SQL Server 2005 и Microsoft SQL Server 2000 Blog bot DAX Blogs 0 28.10.2006 17:22
Счетчики производительности Axapta Business Connector rumpleteazer DAX: Администрирование 10 23.06.2005 14:16
Введение в Аксапту Роман Кошелев DAX: Прочие вопросы 0 18.12.2001 14:00
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 21:23.