Показать сообщение отдельно
Старый 27.12.2010, 10:38   #10  
Rivez is offline
Rivez
Участник
 
77 / 10 (1) +
Регистрация: 21.01.2009
Цитата:
А вы приведенное время точно указывается для одного и того же джобика, а не для джобика и запроса с формы? Обычно option(fast n) добавляется при отработке запроса с формы, чтобы СУБД выдала первые записи как можно раньше (визуально на форме запрос так отработает быстрее, если не начать "листать" результат), при этом план запроса зачастую отличается от случая, когда важно быстрее получить все записи выборки, как в джобе. Кроме того, на форме используется Query, где по умолчанию включен RLS (это влияет на сортировку в запросе), а при использовании select из кода RLS по умолчанию выключен.
сравниваются абсолютно два одинаковых ДЖОБА

Цитата:
Выравнивание LedgerAccount тоже одинаковое? Потому что для запросов с like это может быть существенно...
в 3ке Right, в 5ке Left

Цитата:
В "аналогичных запросах" в Mgmt Studio вы фильтр по dataareaid добавляете?
ага, фильтр используется

Запрос к БД Ax 3.0 (в БД 17 секунд, в Аксапте 30 секунд):
X++:
select accountnum, crediting, dimension, dimension2_, dimension4_, dimension6_, sum(amountmst) from ledgertrans where dataareaid='xxx'
and ltrim(accountnum) like '20%' 
and transdate between '01.01.2009' and '12.31.2010'
group by accountnum, crediting, dimension, dimension2_, dimension4_, dimension6_
Запрос к БД Ax 5.0 (в БД 12 секунд, в Аксапте 50 секунд):
X++:
select accountnum, crediting, dimension, dimension2_, dimension4_, dimension6_, sum(amountmst) from ledgertrans where dataareaid='xxx'
and accountnum like '20%' 
and transdate between '01.01.2009' and '12.31.2010'
group by accountnum, crediting, dimension, dimension2_, dimension4_, dimension6_
т.е. если через MS SQL, то быстрее в Ax 5.0, если из Axapta (через джоб), то в Ax 3.0