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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 09.12.2016, 22:10   #1  
Pokersky09 is offline
Pokersky09
Участник
 
43 / 60 (3) ++++
Регистрация: 15.11.2012
Адрес: Turkey
Цитата:
Сообщение от mazzy Посмотреть сообщение
Не совсем.
в вашем запросе outer join есть?
Нет, чисто Inner Join.


Цитата:
Сообщение от mazzy Посмотреть сообщение
Эквивалентны функционально.
Но не эквивалентны с точки зрения производительности.
Именно в этом направлении и двигаюсь.

По производительности отличие существенное, когда в таблице Line 200KK+ записей, а в Header порядка 120К+(этот случай в бд разбираю).

На уровне SQL выполняя запросы на CROSS/INNER скорость существенно отличается, на кросе около 800ms самый хороший результат.

Пробовал на sql, тестил только планы запросов, без замеров времени:
Inner / Inner loop join, отличались циклом от варианта без loop,

Cost запроса CROS/INNER/LOOP_INNER = 44/44/13

Т.е. по стоимости по плану loop_Inner наиболее быстрый.

Планы CROS/INNER одинаковые, как и цена.

Позже выложу скрины по факту с временем, планами запросов и показателями таблиц

P.s. тему поднял не для теоретического рассуждения, а для реального решения проблемы

Последний раз редактировалось Pokersky09; 09.12.2016 в 22:12. Причина: отличались циклом от варианта без loop*
За это сообщение автора поблагодарили: mazzy (2).
Старый 09.12.2016, 22:21   #2  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от AndyD Посмотреть сообщение
По поводу хинта forceNestedLoop.
Он, в принципе, наоборот заставит использовать inner join, но с обязательным хинтом inner loop join. Т.е. будет принудительно устанавливаться алгоритм объединения
Цитата:
Сообщение от Pokersky09 Посмотреть сообщение
Нет, чисто Inner Join.
...
P.s. тему поднял не для теоретического рассуждения, а для реального решения проблемы
Попробуйте в аксапте добавить хинт forceNestedLoop сразу после select (или в свойствах query).
Получится как AndyD говорит?
Теги
cross join, inner join, sql 2014

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
axsa: MDM Adapter - Extending Dynamics AX 2012 R3 Master Data Management Blog bot DAX Blogs 0 22.05.2014 03:28
atinkerersnotebook: Walkthrough & Tutorial Summary Blog bot DAX Blogs 1 09.09.2013 09:11
emeadaxsupport: AX 2012 reports fail to deploy on a server hosting multiple SQL Server Reporting Server instances Blog bot DAX Blogs 0 15.06.2012 11:11
gatesasbait: Dynamics AX 2009 SSRS and SSAS Integration Tips Blog bot DAX Blogs 3 09.07.2009 13:07
Dynamics AX: SQL Server, Heart of Dynamics AX Blog bot DAX Blogs 0 13.07.2007 18:00
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

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

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

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