Добрый день!
Столкнулись с непонятной ситуацией, нужна помощь в вопросе куда копать дальше:
Axapta 3.0 SP3, MS SQL 2000.
Открываем "Номенклатура" - "В наличии" - "Проводки". Аналитика на форме "В наличии" включена только склад. При открытии формы "Проводки" Аксапта довольно серьезно задумывается, молотя что-то на аос-е. Пытаемся разобраться:
В профайлере видно, что все время уходит на выполнение запроса. Сам запрос:
X++:
SELECT A.ITEMID,A.STATUSISSUE,A.DATEPHYSICAL,A.QTY,A.COSTAMOUNTPOSTED,
A.CURRENCYCODE,A.TRANSTYPE,A.TRANSREFID,A.INVOICEID,A.VOUCHER,
A.DATEEXPECTED,A.DATEFINANCIAL,A.COSTAMOUNTPHYSICAL,
A.INVENTTRANSID,A.STATUSRECEIPT,A.PACKINGSLIPRETURNED,
A.INVOICERETURNED,A.PACKINGSLIPID,A.VOUCHERPHYSICAL,
A.COSTAMOUNTADJUSTMENT,A.QTYSETTLED,A.COSTAMOUNTSETTLED,
A.VALUEOPEN,A.DIRECTION,A.DATESTATUS,A.COSTAMOUNTSTD,
A.DATECLOSED,A.DEL_CONFIGID,A.INVENTTRANSIDFATHER,A.COSTAMOUNTOPERATIONS,
A.INVENTTRANSIDRETURN,A.INVENTDIMID,A.INVENTDIMFIXED,A.DATEINVENT,
A.CUSTVENDAC,A.TRANSCHILDREFID,A.TRANSCHILDTYPE,A.REVENUEAMOUNTPHYSICAL,
A.DEL_TAXAMOUNTPHYSICAL,A.INVENTREFTRANSID,A.COSTAMOUNTSECCURPOSTED_RU,
A.COSTAMOUNTSECCURPHYSICAL_RU,A.COSTAMOUNTSECCURADJUSTMENT_RU,
A.DATECLOSEDSECCUR_RU,A.QTYSETTLEDSECCUR_RU,A.COSTAMOUNTSETTLEDSECCUR_RU,
A.VALUEOPENSECCUR_RU,A.COSTAMOUNTSTDSECCUR_RU,A.INOLAP,A.BATCHID,
A.CREATEDBY,A.RECID,B.INVENTDIMID,B.INVENTBATCHID,B.INVENTSERIALID,B.INVENTLOCATIONID,
B.INVENTGTDID_RU,B.RECID FROM INVENTTRANS A,INVENTDIM B WHERE
((A.DATAAREAID=?) AND (A.ITEMID=?)) AND ((B.DATAAREAID=?) AND
((B.INVENTLOCATIONID=?) AND (A.INVENTDIMID=B.INVENTDIMID))) ORDER BY
A.DATAAREAID,A.ITEMID,A.DATEPHYSICAL OPTION(FAST 1)
Вроде абссолютно ничего криминального, все четко и по индексам.
При этом в Query Analyzer запрос отрабатывается за 2-3 секунды, в то время как Аксапта думает над открытием формы по пол-минуты. Да и после открытия - листая проводки в форме - Аксапта так же очень старательно задумывается.
Сервера при этом не загружены, SQL сервер тоже, статистика обновлена, с ресурсами проблем не выявлено.
В inventTrans - 4,5 млн записей, inventDim 650 тыс. Из складских аналитик включены склад, партия, серийный номер и ГТД. Еще стоит отметить, что просто форма "Номенклатура" - "Проводки" открывается быстро, видимо вся загвоздка в фильтре по inventDim.InventLocationId - но мне непонятно, почему такая существенная разница? Что еще можно глянуть для выявления причины?