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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 13.03.2017, 13:37   #1  
trud is offline
trud
Участник
Лучший по профессии 2017
 
1,039 / 1633 (57) ++++++++
Регистрация: 07.06.2003
Записей в блоге: 1
Цитата:
Сообщение от gkochkin Посмотреть сообщение
в этом случае статистика показывает меньшее кол-во логических чтений и процессорного времени.
На тестовой системе я все это сделал, но в продакшн это не хотят пускать, прикрываясь тем, что поле DataAreaID определяет рамки компании и всегда ставится аксаптой на первое место.
если планы одинаковые, то порядок то тут не причем. просто ваш результирующий индекс по видимому имеет другой Fill factor(т.е. получается страницы расположены более плотно раз кол-во логических чтений меньше - тут я подразумеваю что дефрагментацию вы выполнили перед тестом).
Это все приведет к увеличению кол-ва расщеплений этих страниц при обновлении-вставке данных(а для InventSum это критично), что в конечном итоге потенциально замедлит всю систему. так что вполне аргументировано не дают переносить
Старый 13.03.2017, 13:42   #2  
gkochkin is offline
gkochkin
Участник
 
29 / 7 (1) +
Регистрация: 10.03.2017
Цитата:
Сообщение от trud Посмотреть сообщение
если планы одинаковые, то порядок то тут не причем. просто ваш результирующий индекс по видимому имеет другой Fill factor(т.е. получается страницы расположены более плотно раз кол-во логических чтений меньше - тут я подразумеваю что дефрагментацию вы выполнили перед тестом).
Это все приведет к увеличению кол-ва расщеплений этих страниц при обновлении-вставке данных(а для InventSum это критично), что в конечном итоге потенциально замедлит всю систему. так что вполне аргументировано не дают переносить
Планы не одинаковые. План просто при выполнении запроса не использует нами добавленный индексI_698ECC_FINDIMIDX.
С хинтом соответственно использует.
Если поле DataAreaID перенести в конец - оптимизатор хватает наш индекс I_698ECC_FINDIMIDX и количество чтений (и процессорное время) значительно меньше, чем без использования этого индекса (I_698ECC_FINDIMIDX).
Старый 13.03.2017, 13:54   #3  
trud is offline
trud
Участник
Лучший по профессии 2017
 
1,039 / 1633 (57) ++++++++
Регистрация: 07.06.2003
Записей в блоге: 1
Цитата:
Сообщение от gkochkin Посмотреть сообщение
С хинтом соответственно использует.
А в индексе что за поля? все 5 полей запроса из InventDim?
просто на практике я видел ситуации когда создание подобных индексов приводило к остановкам системы, из за того, что собственно для ряда значений поиск остатков через InventDim приводил к полному скану этой таблицы.
т.е. надо проверить что не используются всякие обобщенные партии и гтд
Старый 13.03.2017, 14:13   #4  
gkochkin is offline
gkochkin
Участник
 
29 / 7 (1) +
Регистрация: 10.03.2017
Цитата:
Сообщение от trud Посмотреть сообщение
А в индексе что за поля? все 5 полей запроса из InventDim?
просто на практике я видел ситуации когда создание подобных индексов приводило к остановкам системы, из за того, что собственно для ряда значений поиск остатков через InventDim приводил к полному скану этой таблицы.
т.е. надо проверить что не используются всякие обобщенные партии и гтд
dataareaid
inventdimid
inventsizeid
inventcolorid
inventlocationid
inventbatchid
inventgtdid_ru
Старый 13.03.2017, 14:24   #5  
trud is offline
trud
Участник
Лучший по профессии 2017
 
1,039 / 1633 (57) ++++++++
Регистрация: 07.06.2003
Записей в блоге: 1
О..
этот индекс и не должен использоваться. т.е. какой у вас план то - найти сначала номенклатуру(из InventSum) и InventDimId, а потом проверить все комбинации аналитик? для проверки комбинаций SQL считает что лучше использовать кластерный индекс по InventDimId.
тут можно попробовать создать вот такой(ниже) - искать сразу InventDim и потом по нему уже InventSum, но опять же надо смотреть на ваши данные, т.е. это будет работать если нет обобщенных партий-гтд и нет других аналитик
dataareaid
inventsizeid
inventcolorid
inventlocationid
inventbatchid
inventgtdid_ru
Старый 13.03.2017, 14:48   #6  
gkochkin is offline
gkochkin
Участник
 
29 / 7 (1) +
Регистрация: 10.03.2017
Цитата:
Сообщение от trud Посмотреть сообщение
О..
этот индекс и не должен использоваться. т.е. какой у вас план то - найти сначала номенклатуру(из InventSum) и InventDimId, а потом проверить все комбинации аналитик? для проверки комбинаций SQL считает что лучше использовать кластерный индекс по InventDimId.
тут можно попробовать создать вот такой(ниже) - искать сразу InventDim и потом по нему уже InventSum, но опять же надо смотреть на ваши данные, т.е. это будет работать если нет обобщенных партий-гтд и нет других аналитик
dataareaid
inventsizeid
inventcolorid
inventlocationid
inventbatchid
inventgtdid_ru
SQL использует поиск по некластерному, а потом добирает данные в кластерном.
Если поставить DataAreaID в вышеуказанном мной индексе на 4 место, то статистические данные запроса становятся лучше.
Такой индекс sql использует без подсказок.
Согласны?
Миниатюры
Нажмите на изображение для увеличения
Название: Screenshot_1.jpg
Просмотров: 526
Размер:	34.5 Кб
ID:	11256  
Старый 13.03.2017, 15:02   #7  
trud is offline
trud
Участник
Лучший по профессии 2017
 
1,039 / 1633 (57) ++++++++
Регистрация: 07.06.2003
Записей в блоге: 1
ну т.е. у вас сначала ищутся все InventDimId с заданной партией, потом уже выбираются остатки.
т.е. индекс который я предложил однозначно ускорит этот процесс(за счет доп фильтрации по тому же складу)
а с вашим индексом какой план?
Теги
axapta, dynamics ax, sql server, tuning

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
emeadaxsupport: AX Performance - Analyzing key SQL Server configuration and database settings Blog bot DAX Blogs 0 28.09.2015 14:11
emeadaxsupport: AX Performance Troubleshooting Checklist Part 1A [Introduction and SQL Configuration] Blog bot DAX Blogs 0 05.09.2014 21:11
emeadaxsupport: How to perform a data center change (change of the physical location) where a SQL server 2008 R 2 cluster installation and MS Dynamics AX 4.0 is involved? Blog bot DAX Blogs 0 21.06.2014 19:19
dynamicsaxbi: Better together: Microsoft Dynamics AX 2012 R2 and SQL Server Power View Blog bot DAX Blogs 0 12.12.2012 13:11

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

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

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