Показать сообщение отдельно
Старый 27.03.2008, 10:59   #23  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Очень интересная дискуссия, давайте как- то зафиксируем промежуточные результаты?

1. Щас есть два решения для хранения аналитик - InventDim и Dimensions

2. Недостатки InventDim

- требуется лишний джоин
интересно, есть ли данные насколько такой джоин дорог в количественном отношении?

- невозможность пострения составного индекса для поиска по полю таблицы и полю InventDim
для запросов типа
X++:
select * from InventTrans 
     where InventTrans.ItemID == _itemID
     join InventDim 
             where InventTrans.InventDimID ==  InventDim.InventDimID
                      &&
                       InventDim.InventLocationID == _inventLocationID
тут нельзя сделать составной индекс по <ItemID, inventLocationID> так как они в разных таблицах
Это мне кажется ограничение скорее аксапты - в SQL server, насколько я знаю, есть возможность строить индексы по функциям общего вида => мало что мешает строит индексы по полю связанной таблицы

- требуется лазить в дополнительную таблицу для получения оттуда данных

3. Недостатки Dimensions

- если объем InventDim существенно меньше объема inventTans, то inventTrans распухнет при переходе к схеме Dimensions (с другой стороны, есть менее постоянные аналитики, для которых это оправдано)

- нетипизированность ( все значения должны быть одного размера) - это ограничение наложенное аксаптой так как нет типа "структура" а есть тип "массив"

4. недостатки перехода InventDim --> Dimensions

- отвалятся модификации использующие существующую архитектуру

Я все правильно понял или что-то упустил?

С моей точки зрения недостатки inventDim в какой-то степени можно нивелировать развитием движка аксапты, SQL сервера или возможности использования второго первым...
За это сообщение автора поблагодарили: mazzy (5).