Некоторые базы данных предлагают «разделы» (например, Oracle). Раздел похож на представление, которое собирает несколько таблиц с одинаковым определением в одну. Вы можете определить критерии, которые сортируют новые данные в разные таблицы (например, месяц или неделя года% 6).
С точки зрения пользователя, это всего лишь одна таблица. Из базы данных PoV это несколько независимых таблиц, поэтому вы можете эффективно выполнять с ними полные табличные команды (такие как усечение, удаление, удаление из таблицы (без условия), загрузка / выгрузка и т. Д.)
Если у вас не может быть раздела, вы получите аналогичный эффект с представлениями. В этом случае вы можете собрать несколько таблиц в одном представлении и переопределить это представление, скажем, раз в месяц, чтобы «освободить» одну таблицу со старыми данными от остальных. Теперь вы можете эффективно заархивировать эту таблицу, очистить ее и снова прикрепить к представлению после выполнения большой работы. Это должно значительно улучшить производительность.
[EDIT] SQL Server 2005 и более поздних версий (Enterprise Edition) поддерживает разделы. Благодаря Mitch Wheat