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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 21.04.2016, 13:09   #15  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,719 / 1204 (44) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
На всякий случай.

Если поля DataAreaId указывать в качестве ключа связи, то скорость выполнения запроса резко проседает по сравнению с указанием конкретного значения DataAreaId. Не на порядки, конечно, но в несколько раз.

Поэтому, с точки зрения производительности, выгоднее сделать несколько последовательных запросов меняя значение DataAreaId (если необходимо, объединить потом по UNION ALL), чем один общий запрос в котором указано объединение таблиц в том числе и по DataAreaId

Т.е. запрос вида

X++:
select *
from custTrans
inner join custTable on custTable.AccountNum = custTrans.AccountNum
   and custTrans.DataAreaId = custTable.dataAreaId
как правило, будет выполняться существенно медленнее, чем связка

X++:
select *
from custTrans
inner join custTable on custTable.AccountNum = custTrans.AccountNum
where custTrans.DataAreaId = 'dt1'
    and custTable.dataAreaId = 'dt1'

union all

select *
from custTrans
inner join custTable on custTable.AccountNum = custTrans.AccountNum
where custTrans.DataAreaId = 'dt2'
    and custTable.dataAreaId = 'dt2'

(...)
Бывают исключения, конечно, но обычно выгоднее все-таки указывать конкретное значение DataAreaId для всех таблиц-источников, чем использовать объединение по DataAreaId
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...
За это сообщение автора поблагодарили: mazzy (5).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Произвольный SQL-запрос listener DAX: База знаний и проекты 26 26.07.2016 09:31
Пользовательские настройки. Выборки формы r2d2 DAX: Функционал 1 13.11.2014 11:37
Автоматический выбор профиля разноски при создании заказа ada DAX: Функционал 15 30.06.2005 14:46
Настройка профиля разноски модуля Основные средства mnu DAX: Функционал 24 23.06.2004 09:45
Собственный SQL запрос в FormDataSource Alexey DAX: База знаний и проекты 0 20.12.2001 00:35

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

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

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