У меня огромная база данных, в которой есть несколько таблиц, содержащих несколько миллионов записей.Он содержит технические данные для клиента и постоянно растет.Это влияет на производительность даже при оптимизированной индексации.Итак, я смотрю на разбиение.
Однако я бы посмотрел на разбиение для версии, хранящейся в таблице.В наиболее упрощенном виде таблица состоит из: -
VersionID int <br>
SheetID int <br>
CreationDate datetime <br>
SomeDate nvarchar(255) <br>
Version int
И данные будут выглядеть примерно так: -
1, 1, 2010-09-01, blah, 1 <br>
2, 1, 2010-09-02, more blah, 2 <br>
3, 1, 2010-09-04, blah, 3 <br>
4, 2, 2010-09-02, more blah, 1 <br>
Для каждого нового изменения «листа» в системе в эту таблицу добавляется новая запись с новой версией.В идеале я хочу разделить таблицу так, чтобы у меня были две лучшие версии для каждого «листа».Таким образом, из таблицы выше я бы хотел версии 2 и 3 для идентификатора листа 2 и версию 1 для идентификатора листа 2, а остальные переместить в раздел.Из того, что я прочитал, это кажется невозможным.Я прав или нет?
Если я не прав, то, исходя из этого, у меня есть несколько таблиц, которые все ссылаются на эту таблицу.Они содержат различные версии введенных данных.Могу ли я разделить их на основе раздела «основной» таблицы или раздел должен быть специально основан на столбце таблицы, к которой он относится?
NB Я не самый настоящий SQLразработчик, поэтому извиняюсь, если это совершенно глупый вопрос!