Цитата:
Сообщение от
mazzy
1. Проверяйте сеть.
2. Но скорее всего проблема в том, что задействуется tempdb для сортировки результатов выборки (в аксапте group by всегда сопровождается опцией order by, а вручную вы наверняка order by пропускаете). Поищите на форуме по поводу tempdb.
1. Точно все хорошо, иначе вылезло бы еще в куче мест.
2. Вручную order by не убирали, да и он полностью соответсвует индексу - вроде никакой сильной доп нагрузки быть не должно? Кстати сама база весит 70 гб, а размер tempdb 14 гб - это нормальное соотношение?
Цитата:
Сообщение от
AndyD
А можно вас попросить выполнить запрос с теми же параметрами, но в таком виде
X++:
SELECT
A.DATAAREAID,A.ITEMID,A.INVENTDIMID,B.DATAAREAID,B.INVENTLOCATIONID,A.INVENTDIMID,B.INVENTDIMID FROM INVENTTRANS A,INVENTDIM B WHERE ((A.DATAAREAID=@P1) AND (A.ITEMID=@P2)) AND ((B.DATAAREAID=@P3) AND ((B.INVENTLOCATIONID=@P4) AND (A.INVENTDIMID=B.INVENTDIMID))) ORDER BY
A.DATAAREAID,A.ITEMID OPTION(FAST 1)
т.е. ограничить выбираемые поля только теми, которые есть в поисковых индексах и убрать из сортировки поле DATEPHYSICAL
Хм. Сделать в QueryAnalyzer? Сделали, разницы не почувствовали (план запроса тот же). Или Вы предлагаете его скормить Аксапте? Не верится, что дело только в длине передаваемой записи - ведь без фильтра по inventLocationId работает с такой же записью (набором полей), но гораздо шустрее.