08.01.2010, 18:42 | #1 |
Участник
|
InventSum
Доброго всем времени суток!
Решил обратиться за помощью к гуру акспапты. sql 2000 axapta 3.0 sp5 после изменения механизма расчета аванса появились блокировки на таблице inventsum, в которой у нас всего 13 записей..(при одновременном расчете) включив sql-трассировку, получаю вот: Код: 252655 мс на 'EXECUTE+FETCH (execute, first chunk of data)': 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.RECVERSION,A.RECID FROM INVENTSUM A WITH( INDEX(I_174ITEMDIMIDX), UPDLOCK) WHERE ((DATAAREAID=?) AND ((ITEMID=?) AND (INVENTDIMID=?))) OPTION(FAST 1) тормозит в методе X++: static InventSum find(ItemId itemId, InventDimId dimId, boolean _forUpdate = false) { InventSum inventSum; ; if (_forUpdate) { inventSum.selectForUpdate(_forUpdate); if (appl.inventUpdateTTSControl().mustUseTTSSystem()) inventSum.setConnection(appl.inventUpdateTTSControl().DBConnectionUpd()); } if (itemId) select firstonly inventSum index hint ItemDimIdx where inventSum.itemId == itemId && inventSum.inventDimId == dimId; return inventSum; } люди добрые, помогите index hint убирал, не помогает..(
__________________
..в каждой программе есть хотя бы одна ошибка.. |
|