AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 01.12.2004, 15:07   #1  
Alks is offline
Alks
Участник
 
336 / 41 (2) +++
Регистрация: 23.07.2004
Адрес: г. Новокузнецк
Форма тормозит...
Странные вещи тут наблюдаю...
Заметил что в строках журнала инвентаризации очень медленно происходит сортировка по номеру партии - в журнале 760 строк, сортировка происходит порядка 3-х минут. Заинтересовавшись такими тормозами включил трассировку SQL запросов и выяснил что тормозной запрос выглядит следующим образом:

PHP код:
SELECT A.JOURNALID,A.LINENUM,A.TRANSDATE,A.VOUCHER,A.JOURNALTYPE,A.ITEMID,
A.QTY,A.COSTPRICE,A.PRICEUNIT,A.COSTMARKUP,A.COSTAMOUNT,A.SALESAMOUNT,
A.INVENTTRANSID,A.INVENTTRANSIDFATHER,A.LEDGERACCOUNTIDOFFSET,
A.INVENTONHAND,A.COUNTED,A.DIMENSION,A.DIMENSION2_,A.DIMENSION3_,
A.DEL_LOG,A.BOMLINE,A.DEL_POSTED,A.DEL_CONFIGID,A.INVENTTRANSIDRETURN,
A.INVENTDIMID,A.TOINVENTDIMID,A.EMPLID,A.ASSETTRANSTYPE,A.PROJTAXGROUPID,
A.PROJSALESCURRENCYID,A.PROJTAXITEMGROUPID,A.PROJUNITID,A.INVENTREFTYP
E
,A.INVENTREFID,A.INVENTREFTRANSID,A.SCRAPTYPEID_RU,A.DEL_REPORTID_RU,A.
DEL_OFFSESSIONID_RU,A.DESCRIPTION,A.MODIFIEDDATE,A.MODIFIEDTIME,A.MODIFIE
DBY
,A.MODIFIEDTRANSACTIONID,A.CREATEDDATE,A.CREATEDTIME,A.CREATEDBY,A.C
REATEDTRANSACTIONID
,A.RECID,B.INVENTDIMID,B.INVENTBATCHID,B.WMSLOCATION
ID
,B.WMSPALLETID,B.INVENTSERIALID,B.INVENTLOCATIONID,B.CONFIGID,B.INVENTSIZ
EID
,B.INVENTCOLORID,B.INVENTGTDID_RU,B.RECID,C.ITEMGROUPID,C.ITEMID,C.ITEM
NAME
,C.ITEMTYPE,C.PURCHMODEL,C.HEIGHT,C.WIDTH,C.SALESMODEL,C.COSTGRO
UPID
,C.PRIMARYVENDORID,C.NETWEIGHT,C.DEPTH,C.UNITVOLUME,C.BOMUNITID,C.D
ENSITY
,C.DEL_SCRAPTYPEID,C.DIMENSION,C.DIMENSION2_,C.DIMENSION3_,C.COST
MODEL
,C.USEALTITEMID,C.ALTITEMID,C.INTRACODE,C.DEL_COVPERINVENTLOCATIO
N
,C.PHANTOM,C.INTRAUNIT,C.BOMLEVEL,C.BATCHNUMGROUPID,C.AUTOREPORTFINI
SHED
,C.ORIGCOUNTRYID,C.STATISTICSFACTOR,C.ALTCONFIGID,C.STANDARDCONFI
GID
,C.DEL_CONFIGACTIVE,C.ABCTIEUP,C.ABCREVENUE,C.ABCVALUE,C.ABCCONTRIB
UTIONMARGIN
,C.COMMISSIONGROUPID,C.DEL_BARCODE,C.DEL_BARCODETYPE,C.C
ONFIGURABLE
,C.SALESPERCENTMARKUP,C.SALESCONTRIBUTIONRATIO,C.SALESPRI
CEMODELBASIC
,C.MINAVERAGESETTLE,C.NAMEALIAS,C.GROSSDEPTH,C.GROSSWIDT
H
,C.GROSSHEIGHT,C.STANDARDPALLETQUANTITY,C.QTYPERLAYER,C.SORTCODE,C.
CONFIGSIMILAR,C.SERIALNUMGROUPID,C.DIMGROUPID,C.MODELGROUPID,C.TAXPAC
KAGINGQTY
,C.DEL_TEMPLATE,C.WMSPALLETTYPEID,C.ORIGSTATEID,C.STOPEXPLOD
EPRICE
,C.WMSPICKINGQTYTIME,C.TARAWEIGHT,C.PACKAGINGGROUPID,C.SCRAPVAR
,C.SCRAPCONST,C.STANDARDINVENTCOLORID,C.STANDARDINVENTSIZEID,C.ITEMDI
MCOMBINATIONAUTOCREATE
,C.ITEMDIMCOSTPRICE,C.ALTINVENTSIZEID,C.ALTINVEN
TCOLORID
,C.GROSSWEIGHT_RU,C.PACKING_RU,C.INVENTGROUPID_1,C.INVENTGRO
UPID_2
,C.INVENTGROUPID_3,C.INVENTGROUPID_4,C.BASETYPE,C.SEASONTYPE,C.B
RANDID
,C.PRODUCER,C.LOWESTSTOREQTY,C.HIGHESTSTOREQTY,C.INVENTITEMBA
RCODEID
,C.INVENTBIGSIZETYPE,C.INVENTCLASSIFIERID,C.LOADCOUNTRY,C.MODIFIE
DDATE
,C.MODIFIEDTIME,C.MODIFIEDBY,C.MODIFIEDTRANSACTIONID,C.CREATEDDATE
,C.CREATEDTIME,C.CREATEDBY,C.CREATEDTRANSACTIONID,C.RECID

FROM INVENTJOURNALTRANS A
,INVENTDIM B,INVENTTABLE C
WHERE 
((A.DATAAREAID='dom')
AND (
A.JOURNALID='Жр00002099'))
AND ((
B.DATAAREAID='dom')
AND (
A.INVENTDIMID=B.INVENTDIMID))
AND ((
C.DATAAREAID='dom')
AND (
A.ITEMID=C.ITEMID))
ORDER BY B.DATAAREAID DESC,B.INVENTBATCHID DESC OPTION(FAST 1
Проверил план выполнения - никаких fullscan, никаких scan вообще нет - в общем ничего подозрительного. Проверил индексы на таблицах - в общем то не увидел причин для таких тормозов...
Почесал тыковку и скопировал этот запрос в MS SQL Query Analizer и ужаснулся - запрос выполняется там порядка 11 минут!
Так как в запросе ничего подозрительного кроме OPTION (FAST 1) не обнаружил, то убрал этот аппендикс из запроса и получил время выполнения.... 1 секунду!
Отсюда возникает ВОПРОС: КАКОГО Х...????
Неужели форма Аксапты использует OPTION (FAST 1) (как я понимаю аналог firstfast в запросах аксапты) для обновления своего содержимого??? Как этого можно избежать?
Старый 01.12.2004, 19:22   #2  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
вечная тема

Старый 02.12.2004, 06:27   #3  
Tays is offline
Tays
Участник
 
165 / 17 (1) ++
Регистрация: 18.07.2003
Ну вечная тема, конечно...
Мы тоже над этим работали, хотели для проверки отключить хинт на аосе. Хм. Поставили необходимые параметры на HintFlag - результат ошеломительный .... настройка не срабатывает (где то на форуме я уже писала об этом).
И второй момент.
Alsk, нужно еще учитывать кеширование запроса.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
лукап-форма с доп. фильтром patron DAX: Программирование 10 30.03.2007 12:19
Как передать параметры из одной web форма в другую dtsymbal DAX: Программирование 9 28.02.2006 10:31
Тормозит форма складских проводок chel DAX: Администрирование 9 08.08.2005 16:46
LookUp форма и параметры SnowMan DAX: Программирование 7 18.09.2003 16:04
Произвольная Lookup форма Maxim Gorbunov DAX: База знаний и проекты 0 30.11.2001 21:59
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 18:31.