Показать сообщение отдельно
Старый 01.06.2009, 12:41   #17  
Didukh84 is offline
Didukh84
Участник
 
57 / 10 (1) +
Регистрация: 09.06.2006
Цитата:
Сообщение от SRF Посмотреть сообщение
Директива index добавляет сортировку по полям индекса и как написал AndyD (поскольку добавилась сортировка) у вас план запроса должен стать(так ли это?) :



В случае же c index hint TransIdIdx план запроса должен стать
X++:
SELECT SUM(A.COSTAMOUNTPOSTED),SUM(A.COSTAMOUNTADJUSTMENT) 
FROM INVENTTRANS A (INDEX(I_177TRANSIDIDX))
WHERE ((DATAAREAID=?) AND ((((INVENTTRANSID=?) AND (STATUSISSUE=?)) AND (STATUSRECEIPT=?)) AND (INVOICEID=?))) 
OPTION(FAST 2)
да, все верно

Цитата:
Сообщение от SRF Посмотреть сообщение
Поиск по АОТ(искал только по коду) для AX 3.0 SP2 данного запроса ничего не дал. Поэтому попробуйте найти данный запрос в AX и захинтовать другой индекс.
а можно поподробней?
Цитата:
Сообщение от SRF Посмотреть сообщение
P.S. Кстати в стандарной AX запросы вида
X++:
select sum(CostAmountPosted) from InventTrans where InventTrans.InventTransId == ...
в большинстве своем идут в связке с index hint TransIdIdx.(возможно это как то и связано с тем, что ядро AX само вставляет хинты в запрос)
в данном случае если бы выбрался данный индексе этой темы и не было бы ;-)
__________________
Жить все веселей!.. AX3SP3CU1