Показать сообщение отдельно
Старый 27.03.2008, 13:05   #34  
TasmanianDevil is offline
TasmanianDevil
Мрачный тип
Аватар для TasmanianDevil
Злыдни
 
887 / 389 (14) ++++++
Регистрация: 24.01.2005
Адрес: Томск
Цитата:
Сообщение от belugin Посмотреть сообщение
TasmanianDevil, я правильно понял, что одно и то же поле будет в таблице иметь разный смысл (и конуептцально тип) в зависимости от настроек конфигурации?

А как интересно будет выглядеть тогда запрос "выбрать все с данного слклада"

X++:
select x from t1 where 
   (dimType[1] == DimType::Location && dimValue[1] == _location)
   ||
   (dimType[2] == DimType::Location && dimValue[2] == _location)
   ||
   (dimType[2] == DimType::Location && dimValue[2] == _location)
Не снесет ли крышу оптимизатору в данном случае?
При решении в лоб и достижении некоего кол-ва уровней - снесет без вопросов.
Решения :
1) Увеличить кол-во запросов (N уровней -N запросов)
2) Общие для всех моделей разрезы аналитики использовать в едином для всех разрезе(порядок и уровень). Допустим общие у нас разрезы - это "склад" и "кладовщик", первым уровнем для всех моделей будет "склад", вторым - "кладовщик". Экзотику , специфичную для каждой конкретной модели опускать на нижние уровни.
У обоих вариантов есть недостатки - но их можно считать это платой за универсальность
__________________
Мы летаем, кружимся, нагоняем ужасы ...