Секционированные таблицы в MS SQL Server

Открыл для себя интересную возможность в SQL-сервере – секционированные таблицы.

Объяснение на пальцах: есть база с постоянно пополняемой таблицей заказов. Как правило, основная работа ведётся с заказами за последние пару месяцев. Остальная масса заказов необходима для аналитики и используется раз в месяц/квартал/год. Таблица растёт и могут начать проявляться проблемы производительности при доступе к этим данным. Первое что приходит на ум – создать вторую таблицу для архивных данных, выгрузить в неё старые заказы облегчив таким образом доступ к текущим заказам. И тут уже начнутся пляски при объединении текущих заказов с архивными в единой выборке для анализа...

Начиная с SQL Server 2005 появилась возможность делать это всё элегантно, - логически оставив все данные в одной таблице, но физически разделить их по разным файлам – это и будет секционированная таблица.

Очень подробно это описано в статье Секционированные таблицы и индексы SQL Server 2005.

В 2008+ сервере добавили графический интерфейс для создания таких таблиц в несколько кликов: Easy Table Partitions with SQL Server 2008.

Русский
field_vote: 
3
Average: 3 (40 votes)

Добавить комментарий