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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 29.09.2006, 17:26   #1  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 858 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
Axapta + Oracle + FIRST_ROWS = проблемы
Есть Акспта 3.0SP3 + Oracle9i Enterprise Edition Release 9.2.0.7.0 - Production
Для тестирования взял 2 запросика из 1 формы, с фильтром и без
Код:
static void Job127(Args _args)
{
    UserConnection  con = new UserConnection();
    Statement       stat = con.createStatement();
    CustInvoice4PaymJour_RU         paymJour;
    CustInvoice4PaymSalesLink_RU    salesLink;
    ;

    //stat.executeUpdate("ALTER SESSION SET query_rewrite_enabled=true");
    //stat.executeUpdate("ALTER SESSION SET query_rewrite_enabled=false");
    //stat.executeUpdate("ALTER SESSION SET NLS_SORT='RUSSIAN'");
    stat.executeUpdate("ALTER SESSION SET NLS_SORT='BINARY'");
    //stat.executeUpdate("ALTER SESSION SET NLS_COMP=ANSI");
    stat.executeUpdate("ALTER SESSION SET NLS_COMP='BINARY'");

    paymJour.setConnection(con);
    salesLink.setConnection(con);

    select firstfast paymJour
        order by Invoice4PaymId, Invoice4PaymDate
    join salesLink
        where salesLink.Invoice4PaymId   == paymJour.Invoice4PaymId
           && salesLink.Invoice4PaymDate == paymJour.Invoice4PaymDate
           && salesLink.SalesId          == paymJour.SalesId
           && salesLink.OrigSalesId      == "0099556";

    select firstfast paymJour
        order by Invoice4PaymId, Invoice4PaymDate
    join salesLink
        where salesLink.Invoice4PaymId   == paymJour.Invoice4PaymId
           && salesLink.Invoice4PaymDate == paymJour.Invoice4PaymDate
           && salesLink.SalesId          == paymJour.SalesId;
}
Время исполнения:
первого 6,5 сек (получаем всего 1 запись)
второго 0,1 сек (получаем первую запись)

После изменения настроек
Код:
    stat.executeUpdate("ALTER SESSION SET NLS_SORT='RUSSIAN'");
    //stat.executeUpdate("ALTER SESSION SET NLS_SORT='BINARY'");
Имеем обратную картину со временем исполнения
первого 0,1 сек (получаем всего 1 запись)
второго 5,5 сек (получаем первую запись)

Очень хочется, чтобы оба запроса быстро выполнялись
Есть какие-нибудь мысли, куда смотреть?
(нанять опытного DBA не предлагать плиз)

P.S. NLS_SORT='BINARY' - прописано в ktd-файле, так что при большом желании можно поменять раз и навсегда
Теги
ax3.0

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Axapta 3.0SP3RU под Oracle 9.2.* RDBMS George V. Tavrizoff DAX: Администрирование 7 24.10.2008 12:29
Проблемы быстродействия Axapta 3.0 Alexandr A. Osipkin DAX: Администрирование 37 16.02.2007 22:43
Проблема с установкой Axapta 2.5+Oracle 8 Pawlik DAX: Администрирование 3 18.11.2005 10:52
Ускорение выполнения запроса Oracle + MS Axapta Горбунов Дмитрий DAX: Программирование 17 15.11.2005 18:13
Введение в Аксапту Роман Кошелев DAX: Прочие вопросы 0 18.12.2001 14:00

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

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

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