02.10.2003, 11:33 | #1 |
Участник
|
Какой запрос лучше?
Скажите, пожалуйста, что в Axapta работает эффективнее - один навороченный запрос или тот же запрос, но разбитый на несколько подзапросов.
Спасибо. |
|
02.10.2003, 11:42 | #2 |
Banned
|
Один навороченный запрос отнимает меньше времени. Пройдитесь профайлером кода, и вы увидите, что маленькие скромные вложенные запросы по одной таблице могут составлять до 30% временных затрат.
|
|
02.10.2003, 23:02 | #3 |
Участник
|
Согласен с EVGL
Однако надо учитывать, что если "навороченный запрос" генерит гигабайтные логи... Если "навороченный запрос" выполняется в сетевом режиме одновременно с другими пользователями... Если "навороченный запрос" надолго блокирует данные... Если СУБД быстро поднимает блокировку на уровень таблицы... То имеет смысл разбить такой "навороченный запрос" на несколько маленьких. Тогда, если тестировать локально, то будет работать медленнее, а вот в сетевом варианте разбитие позволит достичь приемлимой производительности системы в целом. |
|
03.10.2003, 09:33 | #4 |
----------------
|
Согласен с mazzy.
Хочу добавить, что план и время выполнения (на сервере) большого сложного запроса сильно зависит от содержимого объединяемых таблиц, и опыт показывает, что рано или поздно его придется поделить, хотябы на 2 части. |
|