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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 04.11.2010, 16:41   #2  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1850 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Цитата:
Сообщение от Old Посмотреть сообщение
это только у меня, или кто-то решал эту проблему?
У Вас WHERE и ORDER BY указаны по группе полей (InventTransId, StatusReceipt, StatusIssue), которая ни одним штатным индексом не покрывается, так что это некоторый челлендж для оптимизатора. Планов исполнения Вы не привели, поэтому предположительно в запросе без сортировки он подхватывает индекс TransIdIdx, отбирает проводки по лоту и далее эту выборку дофильтровывает по StatusReceipt, StatusIssue, а во втором запросе видит для себя дополнительную работу по сортировке и пытается упростить себе жизнь, отобрав уже отсортированные по StatusIssue ключи в StatusItemIdx и потом дофильтровав выборку по лоту. По идее, единичный лот обычно гораздо селективнее любой комбинации {StatusReceipt, StatusIssue} и выборка по нему предпочтительнее, но это уже относится к организации статистик вообще и к их аккуратности и актуальности конкретно в Вашей БД. В качестве workaround-а можно предложить как минимум два варианта:
  • решение "в лоб": создать индекс по {InventTransId, StatusReceipt, StatusIssue}
  • решение "a la DAX 2009": сделать индекс по лоту (TransIdIdx) кластерным, тогда он с большей вероятностью будет использоваться при указании номера лота, плюс много других соображений, в которые мы сейчас углубляться не будем. Мне этот вариант нравится больше
__________________
-ТСЯ или -ТЬСЯ ?
Теги
inventtrans, order by, sql server, производительность

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Shekhar: Invoice journal linked with Purchase order Blog bot DAX Blogs 0 31.05.2010 22:05
palleagermark: Annoying bug in AX 2009 Intercompany Sales Order Blog bot DAX Blogs 0 21.01.2010 11:05
dynamicsaxtraining: Create purchase order Blog bot DAX Blogs 0 14.12.2009 14:05
DynamicsAxSCM: Changes in Sales and Transfer Order Picking from Microsoft Dynamics AX 4.0 to Dynamics AX 2009 Blog bot DAX Blogs 0 18.05.2009 02:05
dynamicsmatters: Order stock allocation mechanism Blog bot DAX Blogs 0 24.11.2006 17:50

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

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

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