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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 14.03.2019, 14:23   #1  
trud is offline
trud
Участник
Лучший по профессии 2017
 
1,038 / 1629 (57) ++++++++
Регистрация: 07.06.2003
Записей в блоге: 1
Цитата:
Сообщение от fed Посмотреть сообщение
Ну при таком раскладе, надо было бы заводить отдельную таблицу с со списком имеющихся подразделений по заказу и при любом обновлении строки заказа, эту табличку обновлять. Ну а потом где-то в XDS прописывать exists join между заказом и этой таблицей.
Так я о том и говорю, что exists join где условие накладывается на привязанную таблицу - это по сути полный скан таблицы заказов при открытии формы(т.е. ты находишь сначала по индексу записи в фильтрующей таблице, потом ищешь все заказы которые под это попадают(так так на формах обычно сортировка по коду заказа), сортируешь их, и выводишь первые 10. Это отлично работает на малых объемах, но начиная с сотни тысяч уже тормозит и никакими индексами это не победить
Старый 14.03.2019, 14:33   #2  
fed is offline
fed
Moderator
Аватар для fed
Ex AND Project
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
2,895 / 5650 (194) ++++++++++
Регистрация: 13.03.2002
Адрес: Hüfingen,DE
Цитата:
Сообщение от trud Посмотреть сообщение
Так я о том и говорю, что exists join где условие накладывается на привязанную таблицу - это по сути полный скан таблицы заказов при открытии формы(т.е. ты находишь сначала по индексу записи в фильтрующей таблице, потом ищешь все заказы которые под это попадают(так так на формах обычно сортировка по коду заказа), сортируешь их, и выводишь первые 10. Это отлично работает на малых объемах, но начиная с сотни тысяч уже тормозит и никакими индексами это не победить
Это не обязательно полный скап таблицы заказов при открытии формы Сиквел может оказаться достаточно умным чтобы сначала отобрать записи в этой дополнительной таблице и потом уже результат заджойнить через nested look к таблице заказов. Более того - он может в этой дополнительнойтаблице отобрать первые 10 или 20 записей по нужному подразделению и потом их быстренько по кластерному ключу приджойнить nested loop к таблице заказов. Ну еще вариант - добавить в шапку заказа 10 или 15 полей с кодами подразделений и по всем им построить индексы. Вариант не особо блестящий, но тоже может сработать.
Старый 14.03.2019, 14:42   #3  
trud is offline
trud
Участник
Лучший по профессии 2017
 
1,038 / 1629 (57) ++++++++
Регистрация: 07.06.2003
Записей в блоге: 1
Цитата:
Сообщение от fed Посмотреть сообщение
Сиквел может оказаться достаточно умным чтобы сначала отобрать записи в этой дополнительной таблице и потом уже результат заджойнить через nested look к таблице заказов. Более того - он может в этой дополнительнойтаблице отобрать первые 10 или 20 записей по нужному подразделению и потом их быстренько по кластерному ключу приджойнить nested loop к таблице заказов.
Так он так и делает. т.е. у тебя миллион заказов и 3 подразделения. предположим у пользователя настоено 1. т.е. вначале отбирается 300тыс заказов в фильтрующей таблице, потом проверяет все эти 300к заказов(на форме же как правило указывается сортировка и отказывать от нее никто не хочет), из них выбираются 10.
Цитата:
Сообщение от fed Посмотреть сообщение
Ну еще вариант - добавить в шапку заказа 10 или 15 полей с кодами подразделений и по всем им построить индексы. Вариант не особо блестящий, но тоже может сработать.
так а это как поможет, выбирать то надо по "или", у пользователя может быть несколько подразделенией и т.п.
Старый 14.03.2019, 15:22   #4  
fed is offline
fed
Moderator
Аватар для fed
Ex AND Project
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
2,895 / 5650 (194) ++++++++++
Регистрация: 13.03.2002
Адрес: Hüfingen,DE
Цитата:
Сообщение от trud Посмотреть сообщение
Так он так и делает. т.е. у тебя миллион заказов и 3 подразделения. предположим у пользователя настоено 1. т.е. вначале отбирается 300тыс заказов в фильтрующей таблице, потом проверяет все эти 300к заказов(на форме же как правило указывается сортировка и отказывать от нее никто не хочет), из них выбираются 10.

так а это как поможет, выбирать то надо по "или", у пользователя может быть несколько подразделенией и т.п.
По этой логике, даже без XDS, если у нас есть миллион заказов,то сначала этот милион сортируется, а потом из нее 10 заказов отбираются. Так что с XDS даже чуть легче ситуация, потому что надо не миллион отсортировать,а всего 300K
Старый 14.03.2019, 15:31   #5  
fed is offline
fed
Moderator
Аватар для fed
Ex AND Project
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
2,895 / 5650 (194) ++++++++++
Регистрация: 13.03.2002
Адрес: Hüfingen,DE
Цитата:
Сообщение от trud Посмотреть сообщение
так а это как поможет, выбирать то надо по "или", у пользователя может быть несколько подразделенией и т.п.
Насколько я помню, XDS привязывается к роли и если у пользователя несколько ролей, то там как раз условия по "или" складываются (хотя могу что-то путать).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
stoneridgesoftware: Managing Product Safety Data Sheets in Dynamics 365 for Finance & Operations Blog bot DAX Blogs 0 29.03.2018 02:28
atinkerersnotebook: Creating New Customer Notifications for Dynamics 365 for Operations using Flow and the Common Data Service Blog bot DAX Blogs 0 15.12.2016 22:12
NAV Team: Upgrading from Microsoft Dynamics NAV 2009 R2 or Microsoft Dynamics NAV 2009 SP1 to Microsoft Dynamics NAV 2015 Blog bot Dynamics CRM: Blogs 0 23.02.2015 13:00
NAV Team: How to: Set up your Microsoft Dynamics NAV installation for Single Sign-on with Office 365 using Windows PowerShell Blog bot Dynamics CRM: Blogs 0 19.12.2013 15:10
crminthefield: Podcast and Overview: Microsoft Dynamics CRM 2011 Update Rollup 14 Blog bot Dynamics CRM: Blogs 0 12.07.2013 07:13

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 13:01.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.