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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 07.01.2011, 01:45   #1  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5798 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Thumbs up Параметр ком.строки crosscompany и место поля dataareaid в индексах
Коллега обнаружил очень занятную особенность ядра AX 2009: помните, раньше был такой параметр командной строки -internal=crosscompany, после добавления которого можно было играться позицией поля dataareaid в индексе? Так вот, в AX 2009 этот режим включен по умолчанию, так что можно в любой момент у любого индекса таблицы, чьи данные хранятся в разрезе компаний, указать, каким именно полем по счету должно быть в этом индексе поле dataareaid. Это очень удобно с учетом того, что в AX 2009 появилась возможность делать запросы сразу по нескольким компаниям и в куче мест стандартного функционала она активно используется. Зачастую генерятся запросы, которым dataareaid на первом месте в индексах ну совсем ни к чему, и такие индексы теперь очень просто стало подправлять: достаточно явно добавить в индекс поле dataareaid и переместить его на нужное место в списке индексируемых полей.
За это сообщение автора поблагодарили: mazzy (2), AlGol (2), Logger (3), lev (5), jonny (3).
Старый 02.02.2011, 11:45   #2  
LRA is offline
LRA
Участник
 
41 / 39 (2) +++
Регистрация: 19.12.2005
Адрес: Москва
Цитата:
Сообщение от gl00mie Посмотреть сообщение
достаточно явно добавить в индекс поле dataareaid и переместить его на нужное место в списке индексируемых полей.
Эта возможность уже была в Dynamics AX 4
Старый 18.02.2013, 09:38   #3  
dech is offline
dech
Участник
Аватар для dech
Самостоятельные клиенты AX
 
647 / 350 (13) ++++++
Регистрация: 25.06.2009
Адрес: Омск
Записей в блоге: 3
Всем добрый день. В AX4 есть возможность добавлять в индекс поле DataAreaId и ставить его в любой позиции, хоть в конец. Что собственно дает небольшой прирост производительности по некоторым полям.
Есть ли возможность средствами AX вообще сделать индекс без DataAreaId, оставив свойство SaveDataPerCompany без изменений. Например реализовать такую рекомендацию от DBAшников:
X++:
CREATE NONCLUSTERED INDEX [IX_INVENTTABLE_ITEMID_ITEMNAME]
ON [dbo].[INVENTTABLE] ([ITEMID],[ITEMNAME])
WITH (ONLINE = ON, SORT_IN_TEMPDB = ON )
ON [Indexes]
GO
__________________
// no comments
Старый 18.02.2013, 10:27   #4  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5798 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Штатно, насколько я знаю, если поле DataAreaId физически создается Аксаптой в таблице, то оно явно или неявно будет и в каждом индексе, создаваемом в AOT. В этих условиях индекс без DataAreaId можно создать руками в БД, но чтобы при синхронизации Аксапта его не прибила, нужно предпринять дополнительные усилия.
За это сообщение автора поблагодарили: dech (1).
Старый 18.02.2013, 10:29   #5  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,940 / 3229 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Цитата:
Есть ли возможность средствами AX вообще сделать индекс без DataAreaId, оставив свойство SaveDataPerCompany без изменений
А зачем ?
Если dataareaId мешает в начале, можно его последним полем поставить.
Старый 18.02.2013, 11:16   #6  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Цитата:
Сообщение от dech Посмотреть сообщение
Например реализовать такую рекомендацию от DBAшников
Скажите своим DBA чтоб меньше с DTA баловались, он им такого насоветует..
__________________
-ТСЯ или -ТЬСЯ ?
Старый 18.02.2013, 13:28   #7  
dech is offline
dech
Участник
Аватар для dech
Самостоятельные клиенты AX
 
647 / 350 (13) ++++++
Регистрация: 25.06.2009
Адрес: Омск
Записей в блоге: 3
Поскольку У нас в AX более одной компании, а InventTable и InventSum являются таблицами серьезными, я решил послать админов куда подальше. На худой конец в индексе добавим поле в конец списка, как я и планировал.
__________________
// no comments
Теги
ax2009, crosscompany, индекс

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Строки временной таблицы с разными DataAreaId PavelSR DAX: Программирование 16 26.03.2008 10:32
Denis Fedotenko: Новые поля в складских проводках Blog bot DAX: База знаний и проекты 10 24.05.2007 11:57
Есть у кого ни будь Job ик для групповой замены поля dataareaid в группе таблиц ShadowFromXZone DAX: Функционал 7 13.10.2004 12:48
Получить значение поля таблицы по номеру (Id) поля Anais DAX: Программирование 2 15.04.2004 13:00
Параметр коммандной строки -job=<s> vovayak DAX: Администрирование 11 17.10.2003 15:59

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

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

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