Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
При проектировании, создании или изменении индекса следует учитывать несколько параметров индекса. Эти параметры можно указывать при создании или перестроении индекса. Кроме того, некоторые параметры индекса можно установить в любое время с помощью предложения SET инструкции ALTER INDEX.
Параметр индекса
Описание
Сохранение установки в метаданных
См. также
PAD_INDEX
Устанавливает процентную долю свободного пространства в страницах промежуточного уровня во время создания индекса.
Да
FILLFACTOR
Устанавливает процентную долю свободного пространства на конечном уровне каждой страницы индекса во время создания индекса.
Да
SORT_IN_TEMPDB
Определяет место хранения промежуточных результатов сортировки, формируемых во время создания индекса.
При значении ON результаты сортировки хранятся в базе данных tempdb. При значении OFF результаты сортировки хранятся в схеме секционирования или файловой группе, в которой хранится результирующий индекс.
Примечание.
Если не требуется проводить сортировку или сортировка может быть выполнена в памяти, параметр SORT_IN_TEMPDB не учитывается.
Нет
База данных tempdb и создание индекса
IGNORE_DUP_KEY
Указывает реакцию на ошибку, вызванную дублированием значений ключа в многострочной транзакции INSERT в уникальном кластеризованном или уникальном некластеризованном индексе.
Да
STATISTICS_NORECOMPUTE
Указывает, следует ли автоматически выполнять перерасчет устаревшей статистики индексов.
Да
DROP_EXISTING
Указывает, что существующий индекс должен быть удален и создан заново.
Нет
Реорганизация и перестроение индексов
ONLINE
Определяет, разрешен ли параллельный доступ пользователей к данным базовой таблицы или кластеризованного индекса, а также к любым связанным с ними некластеризованным индексам во время операций над индексом.
Примечание.
Операции с индексом в оперативном режиме доступны только в Microsoft SQL Server 2005 Enterprise Edition.
Нет
Выполнение операций над индексом в оперативном режиме.
ALLOW_ROW_LOCKS
Определяет, используются ли блокировки строки при доступе к данным индекса.
Да
ALLOW_PAGE_LOCKS
Определяет, используются ли блокировки страницы при доступе к данным индекса.
Да
MAXDOP
Устанавливает максимальное число процессоров, которые могут быть использованы обработчиком запросов для выполнения одной инструкции индекса. Число задействованных процессоров может быть меньше в зависимости от текущей рабочей нагрузки системы.
Примечание.
Параллельные операции над индексом доступны только в SQL Server 2005 Enterprise Edition.
Нет
Настройка параллельных индексных операций
Установка параметров индекса
Установка параметров без перестроения
С помощью предложения SET в инструкции ALTER INDEX можно установить следующие параметры индекса, не перестраивая индекс:
- ALLOW_PAGE_LOCKS
- ALLOW_ROW_LOCKS
- IGNORE_DUP_KEY
- STATISTICS_NORECOMPUTE
Эти параметры применяются к индексу немедленно. Другие параметры индекса, например FILLFACTOR и ONLINE, могут быть указаны только при создании или перестроении индекса.
Просмотр настроек параметров индекса
Не все значения параметров индекса хранятся в метаданных. Те значения, которые хранятся в метаданных, можно просмотреть в соответствующих представлениях каталога. Чтобы проверить текущие значения параметров существующих индексов, используйте представление каталога sys.indexes. Чтобы проверить текущее значение для параметра STATISTICS_NORECOMPUTE, используйте представление каталога sys.stats. Дополнительные сведения см. в разделе Просмотр сведений об индексах.
Примеры
В следующем примере устанавливаются значения параметров ALLOW_ROW_LOCKS и IGNORE_DUP_KEY для индекса AK_Product_ProductNumber таблицы Production.Product.
USE AdventureWorks;
GO
--Verify the current values for these options.
SELECT allow_row_locks, ignore_dup_key
FROM sys.indexes
WHERE name = N'AK_Product_ProductNumber';
GO
--Set the ALLOW_ROW_LOCKS option OFF and the IGNORE_DUP_KEY option ON.
ALTER INDEX AK_Product_ProductNumber
ON Production.Product
SET (ALLOW_ROW_LOCKS = OFF, IGNORE_DUP_KEY = ON);
GO
--Verify the new values for these options.
SELECT allow_row_locks, ignore_dup_key
FROM sys.indexes
WHERE name = N'AK_Product_ProductNumber';
GO
См. также
Основные понятия
Другие ресурсы
sys.indexes (Transact-SQL)
sys.stats (Transact-SQL)