Показать сообщение отдельно
Старый 03.12.2007, 11:00   #1  
Lucky13 is offline
Lucky13
Участник
1C
 
714 / 198 (8) ++++++
Регистрация: 21.10.2004
Формирование прайс-листа в Axapta. Проблемы производительности.
Задача сформировать прайс-лист, т.е. вывести все позиции, которые находятся на складе X в количестве больше Y (частный случай >0). Простейшее решение выполнить следующий запрос:
X++:
Select from InventSum 
join InventDim
Where InventSum.InventDimId == InventDim.InventDimId &&  InventSum.AvailPhysical > Y && InventDim.InventLocationId = X
Такой запрос выдает верный результат, но с увеличением количества данных время выполнения запроса растет, так как выборка идет не по индексам. К тому же это только пример, реально обычно нужно еще откуда-то достать цену товара и сгруппировать данные каким-либо образом, например по той же цене, так как клиенты чаще всего не любят когда одна и та же номенклатура повторяется в прайсе несколько раз. В итоге получается очень тяжелый запрос.

Вопрос как лучше решать данную задачу в Axapta? Кто какие подходы для этого использует?