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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 24.09.2007, 08:26   #1  
DPO is offline
DPO
Участник
 
19 / 10 (1) +
Регистрация: 24.09.2007
Такой запрос вызывается в форме заказов при сортировке строк по номенклатуре:

SELECT /*+ FIRST_ROWS */ a.salesid, a.linenum, a.itemid, a.salesstatus,
a.ledgeraccount, a.name, a.externalitemid, a.taxgroup, a.qtyordered,
a.salesdelivernow, a.remainsalesphysical, a.remainsalesfinancial,
a.costprice, a.salesprice, a.currencycode, a.linepercent, a.linedisc,
a.lineamount, a.confirmeddlv, a.reservation, a.salesunit, a.dimension,
a.dimension2_, a.dimension3_, a.dimension4_, a.dimension5_, a.priceunit,
a.inventtransid, a.custgroup, a.custaccount, a.salesqty, a.salesmarkup,
a.inventdelivernow, a.multilndisc, a.multilnpercent, a.salestype,
a.blocked, a.complete, a.remaininventphysical, a.transactioncode,
a.taxitemgroup, a.del_configid, a.taxautogenerated, a.underdeliverypct,
a.overdeliverypct, a.barcode, a.barcodetype, a.inventreftransid,
a.inventreftype, a.inventrefid, a.itembomid, a.lineheader, a.scrap,
a.returnactionid, a.inventtransidreturn, a.inventdimid, a.transport,
a.statprocid, a.estimategross, a.estimatenet, a.port, a.customerlinenum,
a.packingunitqty, a.packingunit, a.intercompanyinventtransid,
a.modifiedby, a.createddate, a.createdby, a.recid, b.inventdimid,
b.inventbatchid, b.inventlocationid, b.recid
FROM salesline a, inventdim b
WHERE substr(nls_lower(a.salesid), 1, 20) = nls_lower(:in1)
AND substr(nls_lower(a.inventdimid), 1, 20) = substr(nls_lower(
b.inventdimid), 1, 20)
ORDER BY substr(nls_lower(a.itemid), 1, 25) DESC

План исполнения:

SELECT STATEMENT
NESTED LOOPS
SALESLINE TABLE ACCESS [BY INDEX ROWID]
I_359ITEMIDX INDEX [FULL SCAN DESCENDING]
INVENTDIM TABLE ACCESS [BY INDEX ROWID]
I_698DIMIDIDX INDEX [UNIQUE SCAN]

В чем может быть причина фуллскана? Причем по ItemIdx, хотя есть SalesItemIdx в который входят SalesId и ItemId?
Кто-нибудь с таким сталкивался и как это можно победить?
Старый 24.09.2007, 08:49   #2  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от DPO Посмотреть сообщение
В чем может быть причина фуллскана?
В отсутствии или в неадекватности статистик.
Давно статистики обновляли? А они у вас созданы?
__________________
полезное на axForum, github, vk, coub.
Старый 24.09.2007, 09:11   #3  
DPO is offline
DPO
Участник
 
19 / 10 (1) +
Регистрация: 24.09.2007
Статистика обновляется 2 раза в неделю. Дело не вней.

Забыл добавить используемая БД - Oracle.

И если убрать хинт /*+ FIRST_ROWS */, то все становится нормально.
Старый 24.09.2007, 09:29   #4  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от DPO Посмотреть сообщение
Забыл добавить используемая БД - Oracle.
Тогда не знаю.
Попробуйте задать вопрос здесь http://axforum.info и/или здесь http://sql.ru/forum/actualtopics.aspx?bid=3
__________________
полезное на axForum, github, vk, coub.
Старый 24.09.2007, 09:38   #5  
DPO is offline
DPO
Участник
 
19 / 10 (1) +
Регистрация: 24.09.2007
Спасибо
 


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

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

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