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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 30.01.2015, 16:55   #1  
Akri is offline
Akri
Участник
 
23 / 10 (1) +
Регистрация: 16.08.2011
): Почему используется индекс (Oracle, DAX 2009)
Oracle, DAX 2009
С какого-то момента стала сильно задумываться рабочая аксапта на некоторых запросах – просто зависать минут на 5 – 20.

В качестве примера есть такой запрос, который запускается просто из джобика:

select firstonly RecId from SalesTable
where SalesTable.SalesId != "Заказ1" &&
SalesTable.CustAccount == "Клиент1" &&
SalesTable.RegionOrigSalesId == "123" ;

План запроса пишет такой:
SELECT /*+ INDEX(A I_366CUSTIDX) FIRST_ROWS */A.RECID
FROM SALESTABLE A
WHERE ((SUBSTR(NLS_LOWER(DATAAREAID),1,4)=NLS_LOWER(:IN1))
AND (((SUBSTR(NLS_LOWER(SALESID),1,20)<>NLS_LOWER(:IN2))
AND (SUBSTR(NLS_LOWER(CUSTACCOUNT),1,20)=NLS_LOWER(:IN3)))
AND (SUBSTR(NLS_LOWER(REGIONORIGSALESID),1,20)=NLS_LOWER(:IN4))))
Причем у нас есть тестовая конфигурация, на которой тот же самый запрос отрабатывает мгновенно (как и работало раньше на рабочей). На тесте план запроса такой:
SELECT /*+ FIRST_ROWS */A.RECID
FROM SALESTABLE A
WHERE ((SUBSTR(NLS_LOWER(DATAAREAID),1,4)=NLS_LOWER(:IN1))
AND (((SUBSTR(NLS_LOWER(SALESID),1,20)<>NLS_LOWER(:IN2))
AND (SUBSTR(NLS_LOWER(CUSTACCOUNT),1,20)=NLS_LOWER(:IN3)))
AND (SUBSTR(NLS_LOWER(REGIONORIGSALESID),1,20)=NLS_LOWER(:IN4))))
Много всего перерыли на эту тему. Сначала просто хочется понять в какую сторону копать – почему на рабочей базе используется индекс CustIdx (в него не входит REGIONORIGSALESID)?
Таблица SalesTable одинаковая на тесте и на рабочей (ну может быть только совсем немного отличаются данные).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Prabhats: DAX 2009: Temporary Tables in Enterprise Portal Blog bot DAX Blogs 0 27.04.2011 11:11
Prabhats: DAX 2009 Enterprise Portal Development : Using the Ax Session Blog bot DAX Blogs 0 27.04.2011 11:11
msdynamicsax: DAX 2009 and MS SQL 2008 Blog bot DAX Blogs 0 09.08.2008 14:05
axStart: Microsoft Dynamics AX 2009 Hot Topics Web Seminar Series Blog bot DAX Blogs 0 06.08.2008 12:05
msdynamicsax: Enterprise Portal development in DAX 2009 Blog bot DAX Blogs 0 18.04.2008 07:06

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 03:44.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.