Лучший подход к оптимизации базы данных истории записей - PullRequest
1 голос
/ 13 апреля 2010

У меня есть база данных, в которой хранится история записей. Для каждого обновления записи система «деактивирует» предыдущую запись (вместе со всеми ее дочерними элементами), установив для столбца «Состояние» значение «0».

Теперь это еще не проблема ... но в итоге у этой системы будет много записей, и история сейчас важнее скорости. Но чем больше записей вставлено, тем медленнее становится поиск.

Каков наилучший подход к архивированию записей? У меня были предложения создать клонированную архивную базу данных для хранения данных. У меня также была идея сохранить все предыдущие записи в xml-файле, который может быть прочитан / загружен позже, если нам нужно выкопать заархивированные записи.

1 Ответ

1 голос
/ 13 апреля 2010

Вы можете создать отдельный раздел, содержащий только активную запись, если ваша СУБД поддерживает это.Вы также можете добавить индекс в Status, чтобы select ... from tbl, где status = 1, не работал невероятно медленно.

http://msdn.microsoft.com/en-us/library/ms187802.aspx

...