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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 06.03.2007, 14:05   #1  
sergeypp is offline
sergeypp
Ищу людей. Дорого.
Аватар для sergeypp
 
433 / 174 (6) ++++++
Регистрация: 08.11.2003
Адрес: Казань
Почему в запросе пропадает хинт
Есть следующий запрос
PHP код:
    select firstonly inventSum
        index hint ClosedItemDimIdx
        order by LastUpdDatePhysical
        where   
!inventSum.closed                   &&
                
inventSum.itemId          == itemId &&
                
inventSum.availPhysical    0
        
#InventDimJoin(inventSum.inventDimId, inventDim, inventDimCriteria, inventDimParm)
        
notexists join WMSLocation
            where WMSLocation
.inventLocationId  == inventDim.inventLocationId   &&
                  
WMSLocation.wMSLocationId     == inventDim.wMSLocationId      &&
                  
WMSLocation.outputBlockingCauseId
В итоге генерится вот такой запрос
PHP код:
SELECT A.ITEMID,A.POSTEDQTY,A.POSTEDVALUE,A.DEDUCTED,A.RECEIVED,A.RESERVPHYSICAL,A.RESERVORDERED,A.ONORDER,A.ORDERED,A.QUOTATIONISSUE,A.QUOTATIONRECEIPT,A.DEL_CONFIGID,A.INVENTDIMID,A.CLOSED,A.REGISTERED,A.PICKED,A.AVAILORDERED,A.AVAILPHYSICAL,A.PHYSICALVALUE,A.ARRIVED,A.PHYSICALINVENT,A.CLOSEDQTY,A.LASTUPDDATEPHYSICAL,A.LASTUPDDATEEXPECTED,A.POSTEDVALUESECCUR_RU,A.PHYSICALVALUESECCUR_RU,A.ITEMNAME,A.RECID
FROM INVENTSUM A 
,INVENTDIM B 
WHERE 
((A.DATAAREAID='dat') AND ((((A.CLOSED=0)) AND (A.ITEMID='0000002')) AND (A.AVAILPHYSICAL>0))) AND ((B.DATAAREAID='dat') AND (B.INVENTDIMID=A.INVENTDIMID)) 
AND 
NOT EXISTS (SELECT 'x' FROM WMSLOCATION C WHERE ((C.DATAAREAID='dat') AND (((C.INVENTLOCATIONID=B.INVENTLOCATIONID) AND (C.WMSLOCATIONID=B.WMSLOCATIONID)) AND 1=0))) 
ORDER BY A.DATAAREAID,A.LASTUPDDATEPHYSICAL OPTION(FAST 2
Внимание.. вопрос )
А куда делся хинт по индексу index hint ClosedItemDimIdx
в запросе должно было по идее быть так
PHP код:
FROM INVENTSUM A (index(I_174CLOSEDITEMDIMIDX)),INVENTDIM B 
Старый 06.03.2007, 14:25   #2  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от sergeypp Посмотреть сообщение
А куда делся хинт
В аксапте можно глобально отключать хинты.
Поищите в доке и на форуме по ключевой фразе "hint flag"
__________________
полезное на axForum, github, vk, coub.
Старый 06.03.2007, 15:54   #3  
sergeypp is offline
sergeypp
Ищу людей. Дорого.
Аватар для sergeypp
 
433 / 174 (6) ++++++
Регистрация: 08.11.2003
Адрес: Казань
В курсе.. через конфигурационную утилиту...
Но это не тот случай.. в остальных местах хинты работают.. не работает именно этот случай.. это конечно не критично.. просто интересно..
Старый 06.03.2007, 17:26   #4  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,325 / 3548 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
ну вообще говоря слово hint подразумевает собой рекомендацию аксаптийному оптимизатору насколько я понимаю. А он (аксаптийный оптимизатор) уже решает.
Вот без слова hint должно было быть так как вы написали.
Если конечно я все правильно понимаю
__________________
Возможно сделать все. Вопрос времени
Старый 06.03.2007, 17:59   #5  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
Цитата:
Сообщение от sukhanchik Посмотреть сообщение
Вот без слова hint должно было быть так как вы написали.
Если конечно я все правильно понимаю
Неправильно
index без hint'а делает сортировку по полям, входящим в указанный индекс. Никакого отношения к хинтованию не имеет и работает всегда (отключить из конф. утилиты нельзя)
__________________
Axapta v.3.0 sp5 kr2
Старый 06.03.2007, 19:00   #6  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,325 / 3548 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Цитата:
Сообщение от AndyD Посмотреть сообщение
Неправильно
Тады звиняюсь за дезинформацию
__________________
Возможно сделать все. Вопрос времени
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Почему loka DAX: Программирование 2 01.12.2005 17:36
Почему суммируется только последнее значение? vesna DAX: Программирование 14 03.08.2005 17:47
Хинт Hint_fastfirst Tays DAX: Администрирование 2 18.10.2004 13:17
Почему такое расхождение в скорости выполнения Владимир Максимов DAX: Программирование 28 11.09.2004 12:44
Подсказки в запросе Белов Владимир DAX: Программирование 3 13.04.2004 10:44

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

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

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