![]() |
#9 |
Участник
|
Цитата:
Сообщение от fed
![]() Очень странно, что перенос склада в inventTrans дал такой прирост производительности. Могу поверить в типичный показатель накладных расходов на джойн двух таблиц в 40-50%. Могу поверить на нетипичные случаи с 200% накладных расходов. Не могу поверить в накладные расходы в 900%
Мне кажется, у вас там просто какая-то беда с планом запроса в стандартной оборотке. Может статистика кривая, может сам сиквел глючит почему-то, может индексы не перестраивались несколько лет. В общем - попробуйте план запроса выщемить и выложить. Вот пример из реальной базы inventTrans - 22 млн записей inventDim - 4 млн записей Включены аналитики - склад (~ 10 складов, по каждому из складов примерно пропорциональной движение товара по количеству операций) - партия - ячейка запрос, код которого ниже (вызывается одним из наших отчетов Аксапта) X++: Use Axapta; SELECT SUM(A.QTY), SUM(A.COSTAMOUNTPOSTED), SUM(A.COSTAMOUNTADJUSTMENT), A.ITEMID, A.DIRECTION FROM INVENTTRANS A WHERE A.DATAAREAID=N'cmp' AND A.DATEFINANCIAL>={ts '2010-12-01 00:00:00.000'} AND A.DATEFINANCIAL<={ts '2010-12-31 00:00:00.000'} AND EXISTS (SELECT 'x' FROM INVENTDIM B WHERE ((B.DATAAREAID=N'cmp') AND ((B.INVENTLOCATIONID=N'Магазин3') AND (A.INVENTDIMID=B.INVENTDIMID)))) GROUP BY A.ITEMID,A.DIRECTION ORDER BY A.ITEMID,A.DIRECTION Вряд ли добавление поля "код склада" в InventTrans как то повлияет на производительность... Интересно а как с этим у других ? |
|