Поделиться через


Создание секционированных таблиц и индексов

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

  1. Создайте функцию секционирования, чтобы указать, каким образом таблица или индекс, где используется эта функция, могут быть секционированы.

  2. Создайте схему секционирования, чтобы указать размещение секций функцией секционирования для файловых групп.

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

Создание функции секционирования

Функция секционирования указывает, как секционируется таблица или индекс. Посредством этой функции домен преобразуется в набор секций. Чтобы создать функцию секционирования, необходимо указать число секций, столбец секционирования и диапазон значений столбца секционирования для каждой секции. Обратите внимание на то, что можно указать только один столбец секционирования.

Дополнительные сведения о создании функции секционирования см. в разделе Рекомендации по планированию секционированных таблиц и индексов.

Правила для столбцов секционирования

Вычисляемые столбцы, участвующие в функции секционирования, должны быть явно помечены как PERSISTED.

Все типы данных, допустимые для использования в качестве индексных столбцов, могут использоваться как столбцы секционирования, за исключением timestamp. Не могут быть указаны типы данных ntext, text, image, xml, varchar(max), nvarchar(max) и varbinary(max). Кроме того, нельзя указывать столбцы с данными пользовательского типа и типа alias среды CLR Microsoft .NET Framework.

Создание функции секционирования

Создание схемы секционирования

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

При создании схемы секционирования пользователь определяет файловые группы, с которыми сопоставляются табличные секции, в соответствии с аргументами функции секционирования. Необходимо указать достаточно файловых групп для размещения соответствующего количества секций. Можно указать сопоставление всех секций с различными файловыми группами, сопоставление некоторых секций с одной группой файлов или сопоставление всех секций с одной файловой группой. Можно также указать дополнительные, «неназначенные» файловые группы в случае, если в дальнейшем предполагается добавить еще секции. В этом случае SQL Server помечает одну из файловых групп свойством NEXT USED. Это означает, что файловая группа будет содержать следующую добавленную секцию.

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

Создание схемы секционирования

Создание секционированной таблицы или индекса

Чтобы секционировать таблицу или индекс в процессе их создания, необходимо указать следующее в инструкции CREATE TABLE или CREATE INDEX:

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

  • Столбец, по которому таблица должна быть секционирована (столбец секционирования). Столбец секционирования должен совпадать с указанным в функции секционирования, которая используется схемой секционирования, по типу данных, длине и точности. Если столбец является вычисляемым, он должен быть указан как PERSISTED.

Создание таблицы, для которой используется схема секционирования

Создание индекса, для которого используется схема секционирования