Показать сообщение отдельно
Старый 10.05.2007, 13:16   #1  
Delfins is offline
Delfins
Участник
 
320 / 39 (2) +++
Регистрация: 20.09.2005
Адрес: Riga, Latvia
Запрос по InventSum и FAST 1
Сделал форму для показа остатков по определённому фильтру, но вот аxапта генерит такой запрос, что всё подвешивается .... Никак не могы убрать "FAST 1" .. использовал и DB хинты и новый коннекшн .. не помогает ...

Главное то, что в Profiler исполняется за 10 сец, а Аxапта подвешивается примерно на минуту

Сам код скопироват с форм "Товар -> В наличие", только добавлены некоторые фильтры

X++:
SELECT 
SUM(A.POSTEDQTY),SUM(A.POSTEDVALUE),SUM(A.PHYSICALVALUE),SUM(A.DEDUCTED),SUM(A.REGISTERED),SUM(A.RECEIVED),SUM(A.PICKED),SUM(A.RESERVPHYSICAL),SUM(A.RESERVORDERED),SUM(A.ONORDER),SUM(A.ORDERED),SUM(A.ARRIVED),SUM(A.QUOTATIONRECEIPT),SUM(A.QUOTATIONISSUE),SUM(A.PHYSICALINVENT),SUM(A.AVAILPHYSICAL),SUM(A.AVAILORDERED),A.ITEMID,B.INVENTLOCATIONID,B.INVENTTREASURERID 
FROM INVENTSUM A WITH( INDEX(I_174CLOSEDITEMDIMIDX)),INVENTDIM B WITH( INDEX(I_698DIMIDIDX)),INVENTTABLE C WHERE ((A.DATAAREAID=@P1) AND ((A.AVAILPHYSICAL>@P2) AND 
(A.CLOSED=@P3))) AND ((B.DATAAREAID=@P4) AND (((B.INVENTLOCATIONID=@P5) AND (B.INVENTTREASURERID=@P6)) AND (A.INVENTDIMID=B.INVENTDIMID))) AND ((C.DATAAREAID=@P7) AND 
((C.ISEXCISEGOOD=@P8) AND (A.ITEMID=C.ITEMID))) GROUP BY A.ITEMID,B.INVENTLOCATIONID,B.INVENTTREASURERID ORDER BY A.ITEMID,B.INVENTLOCATIONID,B.INVENTTREASURERID OPTION(

/* Затормаживает весь процесс */
FAST 1,

LOOP JOIN,FORCE ORDER)
Спасибо!