|
|
#1 |
|
----------------
|
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-файле, так что при большом желании можно поменять раз и навсегда |
|
|