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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 05.03.2015, 11:57   #1  
fed is offline
fed
Moderator
Аватар для fed
Ex AND Project
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
2,913 / 5736 (197) ++++++++++
Регистрация: 13.03.2002
Адрес: Hüfingen,DE
Цитата:
Сообщение от Владимир Максимов Посмотреть сообщение
Если хотели пошутить, то неудачно. В Axapta, по возможности, Exists join следует избегать. Если это возможно по логике запроса, то лучше использовать inner join. В данном случае - это возможно, поэтому именно так и следует делать.

Причина в том, что план выполнения запроса с Exists может меняться в зависимости от размера таблиц (количества записей). Это значит, что "сегодня" такой запрос работает быстро, а "завтра" начинаются дикие тормоза. И Вам потребуется много времени и сил, чтобы понять, в чем проблема... Для Inner join такой проблемы нет.
Рекомендация изначально не очень верна. Да - были проблемы с exists join в ранних версиях оракла, с которыми Axapta 2.1-2.5 работала. У MS SQL (Даже версии 2000) подобных проблем не наблюдалось. Кроме того - со времен Oracle 8.0.6 и MS SQL 2000 прошло уже 16 лет и ни то ни другой особых проблем именно с Exists join не имеют. То есть - проблемы с execution plan везде возникают время от времени, но именно с exists /not exists join они не связаны.
Старый 05.03.2015, 12:09   #2  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,715 / 1204 (44) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Цитата:
Сообщение от fed Посмотреть сообщение
Рекомендация изначально не очень верна. Да - были проблемы с exists join в ранних версиях оракла, с которыми Axapta 2.1-2.5 работала. У MS SQL (Даже версии 2000) подобных проблем не наблюдалось. Кроме того - со времен Oracle 8.0.6 и MS SQL 2000 прошло уже 16 лет и ни то ни другой особых проблем именно с Exists join не имеют. То есть - проблемы с execution plan везде возникают время от времени, но именно с exists /not exists join они не связаны.
Проблемы связаны как раз с MS SQL. Ну, лично у меня Подробности по ссылке.

Проблемы с Exists Join

Не знаю, как в Ax2012, но в Ax2009 механика процесса не изменилась, поэтому не вижу причин для оптимизма
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...
За это сообщение автора поблагодарили: Товарищ ♂uatr (2).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
emeadaxsupport: AX Content: Select invoices to pay Blog bot DAX Blogs 0 23.10.2013 02:11
atinkerersnotebook: Using Service Management to Track Service Orders Blog bot DAX Blogs 1 25.08.2013 19:16
dynamicsaxtraining: Select statement patterns Blog bot DAX Blogs 10 20.08.2010 14:01
Разница NotInTTS и Found Logger DAX: База знаний и проекты 6 18.09.2008 12:35
Вопрос про Demand Planner slava09 DAX: Функционал 4 25.09.2006 11:43

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

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

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