Цитата:
Сообщение от
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