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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 27.03.2007, 16:16   #1  
sergeypp is offline
sergeypp
Ищу людей. Дорого.
Аватар для sergeypp
 
433 / 174 (6) ++++++
Регистрация: 08.11.2003
Адрес: Казань
Принцип добавления RecId в индексы
Сегодня на таблице InventTrans на Индексе TransIdIdx(InventTransId, inventDimId, RecId). Возник вопрос нафига там RecID.. Потом с программером разобрались но не до конца .. Аксапта вроде добавляет RecId к любому индексу, если на таблице нет уникального индекса? я прав??.. по какому принципу она выбирает индекс мне не понятно.. Если она прописывает RecId в какой то индекс, то где хранится инфа в какой индекс она его добавила? выставляет AllowDuplicates NO ?
Старый 27.03.2007, 16:21   #3  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
насколько я знаю, в первый попавшийся (первый сверху, скорее всего).
AllowDuplicated в Нет не выставляет, ессно, потому что тогда он стал бы уникальным.

На самом же деле - это только требование БД - она хочет иметь хотя бы один уникальный индекс.

А конкретно TransIdIdx не подходит под это описание, так как RecId добавлен туда в Аксапте.
Описанный же выше случай касается именно БД
Старый 27.03.2007, 16:41   #4  
sergeypp is offline
sergeypp
Ищу людей. Дорого.
Аватар для sergeypp
 
433 / 174 (6) ++++++
Регистрация: 08.11.2003
Адрес: Казань
Спасибо.. с этим понятно.. Вообще вопрос возник когда я стал разбираться с кластерным индексом на этой таблице..
На текущий момент это ItemIdxCl с полем ItemId
Сделал небольшой анализ.
По кол-ву уникальных записей по тем или иным полям
Total 744597
inventTransId 549085
inventDimId 105482
inventTransId,inventDimId 733217
ItemId 029903

Есть вариант кластерным инд сделать
либо inventTransId, тогда есть ли смысл держать индекс inventTransId,inventDimId (если скуль вообще это разрешит, по-моему нет)
либо inventTransId,inventDimId

Просмотрел часть запросов В основном везде в запросе указывается inventTransId без inventDimId. c другими полями.. Есть одно но, поле inventDimId не является монотонно возрастающим и не является уникальным, хотя это однозначно лучше чем Itemid.. У кого какой класт индекс на таблице InventTrans??
Старый 27.03.2007, 16:43   #5  
sergeypp is offline
sergeypp
Ищу людей. Дорого.
Аватар для sergeypp
 
433 / 174 (6) ++++++
Регистрация: 08.11.2003
Адрес: Казань
опечатался нужно так
Есть одно но, поле inventTransId не является монотонно возрастающим и не является уникальным
Старый 28.03.2007, 13:23   #6  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Цитата:
Сообщение от kashperuk Посмотреть сообщение
первый сверху, скорее всего
Первый по ID.
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
if (record) vs if (record.RecId) kashperuk DAX: Программирование 18 27.11.2008 18:53
поля, содержащие RecId somebody DAX: Программирование 15 16.05.2008 17:50
aEremenko: Дефрагментация RecID Blog bot DAX Blogs 2 06.03.2007 22:25
Два RecId у одной записи таблицы sparur DAX: Программирование 33 18.12.2006 15:56
Форма InventOnhandItem, Почему RecID у InventSum в этой форме всегда 0? Кирилл DAX: Программирование 2 25.05.2004 18:15

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

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

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