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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 17.09.2019, 09:47   #11  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,719 / 1204 (44) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Цитата:
Сообщение от AnGor Посмотреть сообщение
получается, что sp_cursoropen берёт очень не оптимальный план.
Оптимальный. Но для курсора. А для курсора принципиально важно быстро вынуть одну (первую) запись, а не весь список. Как следствие, и план запроса по другому строится. Просто "побочная" цель немного отличается

Как уже неоднократно упоминал, очень сильно исказить план выполнения может использование Exists в запросе. Если такая связка в запросе есть, то лучше ее заменить на Inner Join, если это возможно по логике запроса

Собственно, если Вы тестируете план выполнения напрямую в SQL Manager, то для запросов Axapta надо тестировать примерно такую конструкцию

X++:
declare MyCursor for select ... from ...
open MyCursor
fetch next from MyCursor
Это вернет только первую запись, но для анализа плана выполнения этого вполне достаточно, поскольку как раз на выборке первой записи курсора и "спотыкаемся"

В некоторых случаях может помочь обновление статистики. Но обновление статистики вещь "сиюминутная". Если эта вьюха будет выполняться относительно редко, то оптимальная для нее статистика будет "похоронена" под статистикой более часто выполняемых запросов
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...
За это сообщение автора поблагодарили: Vadik (1), trud (3), Logger (3), AnGor (2).
Теги
performance, sql server, оптимизация, план запроса, производительность

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
emeadaxsupport: Check AOS event logs and SQL Server error logs for key messages using DynamicsPerf Blog bot DAX Blogs 0 28.09.2016 16:11
Протокол SQL для AOS Maxim Gorbunov DAX: Администрирование 24 16.10.2013 18:00
Журнал трассировки операторов SQL - План запроса в "вопросах" vesna dba DAX: Администрирование 4 26.06.2007 11:59
Ускорение выполнения запроса Oracle + MS Axapta Горбунов Дмитрий DAX: Программирование 17 15.11.2005 18:13
В журнале трассировки операторов sql нету времени выполнения.. MironovI DAX: Программирование 3 31.08.2005 16:13

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 12:27.