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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 24.04.2006, 14:05   #1  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от sese Посмотреть сообщение
И что быстрее:

while select * from Table1
where <condition1>
{
...
}
while select * from Table1
where <condition2>
{
...
}

или

while select * from Table1
{
switch (<condition>)
{
<condition1>: ...; break;
<condition2>: ...; break;
}
}
В общем случае при достаточно простых условиях (а только такие можно поместить в case оператора switch ) быстрее будет так
<div class='XPPtop'>X++</div><div class='XPP'>
[color=:blue]while[/color] [color=:blue]select[/color] * [color=:blue]from[/color] Table1
[color=:blue]where[/color] <condition1> [color=:blue]||[/color] <condition2>
{
[color=:blue]switch[/color] (<condition>)
{
<condition1>: ...; [color=:blue]break[/color];
<condition2>: ...; [color=:blue]break[/color];
}
}</div>

Так вы и выборку данных уменьшаете.
И обходитесь одним запросом.

Однако, обратите внимание, что при сложных условиях, скорее всего, лучше будет сделать несколько простых запросов с несколькими циклами. Чтобы получить точный ответ надо смотреть в профайлер.
__________________
полезное на axForum, github, vk, coub.
 


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

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

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