|
![]() |
#1 |
Участник
|
Цитата:
А вы приведенное время точно указывается для одного и того же джобика, а не для джобика и запроса с формы? Обычно option(fast n) добавляется при отработке запроса с формы, чтобы СУБД выдала первые записи как можно раньше (визуально на форме запрос так отработает быстрее, если не начать "листать" результат), при этом план запроса зачастую отличается от случая, когда важно быстрее получить все записи выборки, как в джобе. Кроме того, на форме используется Query, где по умолчанию включен RLS (это влияет на сортировку в запросе), а при использовании select из кода RLS по умолчанию выключен.
Цитата:
Выравнивание LedgerAccount тоже одинаковое? Потому что для запросов с like это может быть существенно...
Цитата:
В "аналогичных запросах" в 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_ 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_ |
|