Вопрос по проектированию базы данных (MS SQL), стойкой к нагрузкам.
Есть таблица [Parameters] (int PId) с некими параметрами, количество и тип значения которых могут быть разными (nvarchar, int, bigint,...).
Как лучше её описать?
1. Ввести xml-поле, в котором хранить имя, тип и значение параметра
2. Разделить её на несколько таблиц:
[ParameterType] (int PTId, nvarchar TypeName);
[ParameterStringValue] (int PVId, nvarchar Value);
[ParameterIntValue] (int PVId, int Value);
[ParameterBigIntValue] (int PVId, bigint Value);
…
а в таблице Parameters добавить ссылку на тип параметра PTId, в таблице ParametersValue — ссылку на PId в таблице Parameters.
Естественно, ещё создать нужные индексы.
То есть, что выгоднее в плане производительности использовать — XML или JOIN'ы?