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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 25.04.2006, 10:53   #8  
Владимир Максимов_imported is offline
Владимир Максимов_imported
Участник
 
33 / 10 (1) +
Регистрация: 20.01.2004
Цитата:
Сообщение от Vadik Посмотреть сообщение
Постоянно слышу разговоры о том, что запрос, разбитый на несколько мелких, работает (может работать) быстрее. Примеров, подтверждающих это, почему-то никто не приводит
Вот ЭТО будет работать относительно долго
Код:
while select LineNum, ItemId, Dimension
	from salesLine
	where salesLine.SalesId == ...
		join Description
		from dimensions
		where dimensions.Num == salesLine.Dimension[1]
			&& dimensions.DimensionCode == SysDimension::Department
{
...
}
А вот такое разделение ускорит выполнение кода примерно на 10%

Код:
while select LineNum, ItemId, Dimension
	from salesLine
	where salesLine.SalesId == ...
{
	select firstonly Description
	from dimensions
	where dimensions.Num == salesLine.Dimension[1]
		&& dimensions.DimensionCode == SysDimension::Department
...
}
Здесь сошлось несколько причин. Хотя, в общем случае, объединение по join работает быстрее чем вложенные циклы, но при подключении таблицы финансовых аналитик ВСЕГДА имеем тормоза по сравнению с прямым запросом внутри while select
 


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

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

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