Рекомендации по планированию секционированных таблиц и индексов

Изменения: 12 декабря 2006 г.

Перед секционированием таблицы или индекса необходимо запланировать создание следующих объектов базы данных:

  • Функции секционирования
  • Схемы секционирования

Функция секционирования на основе значений некоторых столбцов, называемых столбцами секционирования, определяет, каким образом строки в таблице или индексе распределяются по секциям.

Схема секционирования сопоставляет каждую из секций, определенных функцией секционирования, с файловой группой.

Планирование функции секционирования

При планировании функции секционирования следует исходить из двух условий: столбцов, значения которых определяют то, каким образом секционируется таблица, то есть так называемых столбцов секционирования, и диапазона значений столбца секционирования для каждой из секций. Этот диапазон определяет число секций, на которые разбивается таблица. У таблиц может быть не более 1000 секций.

Выбор столбца секционирования и диапазона значений определяется прежде всего степенью, до которой данные должны быть логически сгруппированы, например по датам, и тем, достаточно ли адекватно будет данное логическое группирование для управления подмножествами данных.

Например, согласно сценарию секционирования в образце базы данных AdventureWorks, таблицы TransactionHistory и TransactionHistoryArchive секционированы по полю TransactionDate. Диапазон значений для каждой секции равен одному месяцу. Таблица TransactionHistory содержит самые последние транзакции за год, тогда как таблица TransactionHistoryArchive — более ранние. Секционирование таблиц таким образом позволяет быстро и эффективно переносить данные за нужный месяц из таблицы TransactionHistory в таблицу TransactionHistoryArchive.

Дополнительные сведения об этом сценарии см. в разделе Проектирование секций для управления вложенными наборами данных.

Любой столбец, тип данных которого пригоден для применения в качестве ключа индекса, может быть указан в качестве столбца секционирования, за исключением столбцов с типом данных timestamp, с определяемыми пользователем типами данных Microsoft .NET Framework CLR и псевдонимами типов данных. Дополнительные сведения см. в разделе Создание секционированных таблиц и индексов.

Планирование схемы секционирования

При планировании схемы секционирования необходимо решить, в какой файловой группе (или группах) будут размещены секции. Главная причина, по которой секции разделяются по разным файловым группам, заключается в необходимости независимого резервного копирования этих секций, поскольку оно всегда выполняется отдельно для каждой из файловых групп. Дополнительные сведения см. в разделе Резервное копирование и восстановление баз данных в SQL Server.

ms180767.note(ru-ru,SQL.90).gifВажно!
SQL Server не гарантирует выполнение запросов, обращающихся к секционированной таблице, если какие-либо файлы, принадлежащие к файловым группам таблицы, не находятся в состоянии ONLINE, независимо от того, к каким секциям обращается запрос.

См. также

Основные понятия

Проектирование секционированных таблиц и индексов
Дополнительные рекомендации по секционированным индексам
Реализация секционированных таблиц и индексов
Секционирование в образце базы данных AdventureWorks

Другие ресурсы

Readme_PartitioningScript
Readme_SlidingWindow

Справка и поддержка

Получение помощи по SQL Server 2005

Журнал изменений

Версия Журнал

12 декабря 2006 г.

Новое содержимое
  • Добавлено примечание «Внимание!» о запросах к секционированным таблицам, в которых есть файлы, не находящиеся в состоянии ONLINE.