Секционированные таблицы и индексы SQL Server 2005 - Секционирование индекса
ОГЛАВЛЕНИЕ
Секционирование индекса
Секционировать можно не только данные, но и индексы. Индексы можно секционировать с помощью той же функции, что и базовую таблицу, либо любой другой. Однако с точки зрения производительности лучше всего разделять таблицу и ее индексы, используя одну и ту же функцию. Если таблица и индексы используют одну и ту же функцию секционирования, и секционируются по одним и тем же столбцам (в том же порядке), такая таблица и индексы называются выровненными. Если индекс создается по уже секционированной таблице, SQL Server автоматически выровняет новый индекс согласно схеме секционирования таблицы, если только индекс явно не секционирован по-другому. Если таблица и ее индексы выровнены, тогда SQL Server может перемещать секции внутри секционированных таблиц более эффективно, поскольку все связанные данные и индексы разделены по одному алгоритму.
Если таблица и индексы определены не только по одной и той же функции, но и по одной и той же схеме, тогда они называются выровненным хранилищем. Вообще, если таблицы и индексы располагаются в одном файле или файловой группе, мультипроцессорные системы могут получать дополнительные преимущества за счет параллельной работы с секциями. В мультипроцессорных системах в случае выровненных хранилищ SQL Server может заставить каждый процессор работать с определенным файлом или файловой группой, и при этом быть уверенным, что не будет конфликтов при доступе к данным, поскольку все необходимые для объединения или поиска по индексу данные будут локализованы на одном и том же диске. Это позволяет большему количеству процессов выполняться параллельно без прерываний.
Для получения дополнительной информацией по теме вы можете обратиться к разделу BOL: Special Guidelines for Partitioned Indexes.