AXForum  
Go Back   AXForum > Microsoft Dynamics AX > DAX: Администрирование
All
Forgotten Your Password?
Register Forum Rules FAQ Members List Today's Posts Search Mark Forums Read

 
 
Thread Tools Search this Thread Display Modes
Old 26.06.2019, 18:46   #1  
Hyper is offline
Hyper
Участник
Соотечественники
 
163 / 29 (1) +++
Join Date: 09.10.2003
? DataAreId и Partition в индексах
В индексах, соданных в AOT, в добавок к полям, добавленным пользователем, в начале индекса всегда автоматически добавляются поля Partition и DataAreaId (если есть).

К примеру, в таблице SalesLine индекс TransIdx в AX содержит только поле InventTrans. При этом в SQL Server этот индекс содержит три поля: Partition, DataAreaId, InventTransId - именно в этом порядке.

Много лет назад, уже и не помню в какой версии Аксапты, на вроде бы одном из семинаров рассказывали, что с помощью какой-то достаточно простой конфигурации это поведение по умолчанию можно изменить так, чтобы Partition и DataAreaId добавлялись в конец индекса, а не в начало. То есть, после синхронизации базы данных индекс в SQL Server выглядел бы так: InventTransId, DataAreaId, Partition.

С тех пор много воды утекло, и так как сейчас гугление ничего по этому поводу не обнаружило, я уж и не уверен, не было ли это ложными воспоминаниями.

Подскажите, пожалуйста, кто в теме.
Old 26.06.2019, 19:27   #2  
rDenis2 is offline
rDenis2
Участник
 
62 / 36 (2) +++
Join Date: 13.05.2010
Если не ошибаюсь, надо в аксапте в АОТ, создать индекс и включить в него системные поля, dataareaid и т.д.
Old 26.06.2019, 19:37   #3  
Hyper is offline
Hyper
Участник
Соотечественники
 
163 / 29 (1) +++
Join Date: 09.10.2003
Quote:
Originally Posted by rDenis2 View Post
надо в аксапте в АОТ, создать индекс и включить в него системные поля

Нет-нет, речь идёт именно о глобальной конфигурации в AX, которая бы затронула все индексы без необходимости их коррекции в AOT.
Old 26.06.2019, 20:36   #4  
sukhanchik is offline
sukhanchik
Administrator
sukhanchik's Avatar
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,343 / 3563 (125) ++++++++++
Join Date: 13.06.2004
Location: Москва
Видимо вспоминается вот это сообщение
aEremenko: Порядок полей в индексе для DAX 3.0
Но в 2012 табличку SQLSYSTEMVARIABLES уже убили и на ее смену пришла табличка SYSGLOBALCONFIGURATION, в которой нет такого параметра.
Про нее только информация про литералы (т.е. как подставить в план запроса конкретные значения Partition и Dataareaid) встречается, а не про индексы
__________________
Возможно сделать все. Вопрос времени
This post has been rated by: Hyper (1).
Old 26.06.2019, 21:32   #5  
Hyper is offline
Hyper
Участник
Соотечественники
 
163 / 29 (1) +++
Join Date: 09.10.2003
Quote:
Originally Posted by sukhanchik View Post
Видимо вспоминается вот это сообщение
aEremenko: Порядок полей в индексе для DAX 3.0

Да, то что надо, спасибо!
Quote:
Originally Posted by sukhanchik View Post
Но в 2012 табличку SQLSYSTEMVARIABLES уже убили

Да нет, вот же она у меня перед глазами.

Code:
PARM	VALUE	IPARM	IVALUE
INDEX	297	13	NULL
This post has been rated by: sukhanchik (2).
Old 26.06.2019, 22:26   #6  
sukhanchik is offline
sukhanchik
Administrator
sukhanchik's Avatar
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,343 / 3563 (125) ++++++++++
Join Date: 13.06.2004
Location: Москва
Quote:
Originally Posted by Hyper View Post
Да нет, вот же она у меня перед глазами.

Хм... и правда... Даже в D365FO она есть
__________________
Возможно сделать все. Вопрос времени
Old 27.06.2019, 09:10   #7  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,996 / 3293 (117) ++++++++++
Join Date: 12.10.2004
Location: Москва
Blog Entries: 2
Если компания одна, то можно так

https://yandex.ru/search/touch/?text...2328018&lr=213
Old 27.06.2019, 09:55   #8  
Alexius is offline
Alexius
Участник
Alexius's Avatar
 
461 / 248 (9) ++++++
Join Date: 13.12.2001
Я бы не рекомендовал "ковровые бомбардировки", лучше разбираться точечно.
Old 27.06.2019, 11:17   #9  
Hyper is offline
Hyper
Участник
Соотечественники
 
163 / 29 (1) +++
Join Date: 09.10.2003
Quote:
Originally Posted by Logger View Post
Если компания одна, то можно так

Это не для последних версий, да и для одной компании мне не актуально.

SQLSYSTEMVARIABLES - это именно то, что я искал. Я вчера протестировал в AX 2012 - DataAreaId и Partition действительно переносятся в конец индекса, хотя я ожидал, что Partition будет последнем полем в индексе, но почему-то в конце находится DataAreaId, а Partition идет перед ним.
This post has been rated by: Logger (3).
Old 27.06.2019, 11:46   #10  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,996 / 3293 (117) ++++++++++
Join Date: 12.10.2004
Location: Москва
Blog Entries: 2
На всякий случай добавлю, что 4-й битик надо взводить. Т.е. вместо 297 поставить 313
Old 27.06.2019, 11:47   #11  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,996 / 3293 (117) ++++++++++
Join Date: 12.10.2004
Location: Москва
Blog Entries: 2
Из документации к 3-ке :

Quote:
Value ‘0’ for indexes not supported, or
one or more of the other options
added together:
0 : Not supporting indexes.
1 : Default flag for enabling index
support.
2 : Index generation reversed (i.e.
most important index generated last).
4 : Allow DESC on index components
in CREATE INDEX statement.
8 : Add table qualifiers to index
Axapta System Variables Page 13-7
names.
16: Put the DATAAREAID (the
“company field) last in indexes, and do
not put the field in the ORDER BY
clause at all.
32: This session is using “RECIDs per
company”, which consequently will
add the DATAAREAID to the built-in
RecId-index.
64: This session is using “RECIDs per
company+table”
Old 27.06.2019, 11:57   #12  
Hyper is offline
Hyper
Участник
Соотечественники
 
163 / 29 (1) +++
Join Date: 09.10.2003
Quote:
Originally Posted by Logger View Post
На всякий случай добавлю, что 4-й битик надо взводить. Т.е. вместо 297 поставить 313

Да, я так и тестировал.
This post has been rated by: Logger (1).
Tags
ax 2012 r3, dataarea, index, partition, sqlsystemvariables

 

Similar Threads
Thread Thread Starter Forum Replies Last Post
axStart: delete an AX 2012 R2 or R3 partition Blog bot DAX Blogs 0 14.04.2015 15:11
Kashperuk Ivan: Tip: Connecting the Warehouse management device portal to a different company or partition in Dynamics AX Blog bot DAX Blogs 0 03.12.2014 19:11
atinkerersnotebook: Copy Data From One Partition To Another Using The Data Import Export Blog bot DAX Blogs 0 03.04.2014 15:11
Подсчет записей в ax2012 с учетом DataArea и Partition. Как лучше? mazzy DAX: Администрирование 0 20.05.2013 18:02
axaptacorner: Data partition in Ax 2012 R2 Blog bot DAX Blogs 0 21.01.2013 21:11
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Рейтинг@Mail.ru
All times are GMT +3. The time now is 23:56.
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Contacts E-mail, Advertising.