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


index_option (Transact-SQL)

Изменения: 5 декабря 2005 г.

Определяет набор параметров, которые могут применятся к индексу, являющемуся частью определения ограничения, созданному при помощи инструкции ALTER TABLE.

Значок ссылки на разделСоглашения о синтаксисе в Transact-SQL

Синтаксис

{ 
    PAD_INDEX = { ON | OFF }
  | FILLFACTOR = fillfactor
  | IGNORE_DUP_KEY = { ON | OFF }
  | STATISTICS_NORECOMPUTE  = { ON | OFF }
  | ALLOW_ROW_LOCKS= { ON | OFF }
  | ALLOW_PAGE_LOCKS={ ON | OFF }
  | SORT_IN_TEMPDB = { ON | OFF } 
  | ONLINE = { ON | OFF }
  | MAXDOP = max_degree_of_parallelism
}

Аргументы

  • PAD_INDEX = { ON | OFF }
    Определяет разреженность индекса. Значение по умолчанию — OFF.

    • ON
      Процент свободного места, определяемый параметром FILLFACTOR, применяется к страницам индекса промежуточного уровня.
    • OFF или fillfactor не указан
      Страницы промежуточного уровня заполнены почти в соответствии их производительным возможностям, на них остается место как минимум для одной строки максимального размера, какой только может иметь индекс, с заданным набором ключей на промежуточных страницах.
  • FILLFACTOR **=**fillfactor
    Определяет величину в процентах, показывающую насколько должен компонент Database Engine заполнять конечный уровень каждой страницы индекса во время его создания и изменения. Заданное значение должно быть целым числом от 1 до 100. Значение по умолчанию равно 0.

    ms186869.note(ru-ru,SQL.90).gifПримечание.
    Значения коэффициента заполнения 0 и 100 одинаковы во всех отношениях.
  • IGNORE_DUP_KEY = { ON | OFF }
    Задает реакцию на ошибку, вызывающую дублирование значений ключа в многострочной транзакции INSERT на уникальном кластеризованном или уникальном некластеризованном индексе. Значение по умолчанию — OFF.

    • ON
      Выдается предупреждающее сообщение и возникает ошибка только в строках с индексом UNIQUE.
    • OFF
      Выдается сообщение об ошибке и выполняется откат для всей транзакции INSERT.
    ms186869.note(ru-ru,SQL.90).gifПримечание.
    IGNORE_DUP_KEY не имеет никакого влияния на инструкцию UPDATE.
  • STATISTICS_NORECOMPUTE = { ON | OFF }
    Указывает, пересчитаны ли статистики. Значение по умолчанию — OFF.

    • ON
      Устаревшие статистические данные не пересчитываются автоматически.
    • OFF
      Автоматическое обновление статистических данных включено.
  • ALLOW_ROW_LOCKS = { ON | OFF }
    Указывает, разрешена ли блокировка строк. Параметр по умолчанию — ON.

    • ON
      Блокировки строк возможны при доступе к индексу. Компонент Database Engine определяет, используются ли блокировки строк.
    • OFF
      Блокировки строк не используются.
  • ALLOW_PAGE_LOCKS = { ON | OFF }
    Указывает, разрешена ли блокировка страниц. Параметр по умолчанию — ON.

    • ON
      Блокировки страниц возможны при доступе к индексу. Компонент Database Engine определяет, используются ли блокировки страниц.
    • OFF
      Блокировки страниц не используются.
  • SORT_IN_TEMPDB = { ON | OFF }
    Указывает, сохраняются ли результаты сортировки в tempdb. Значение по умолчанию — OFF.

    • ON
      Промежуточные результаты сортировки, которые используются при индексировании, хранятся в tempdb. Если tempdb не находится на тех же дисках, на которых находится пользовательская база данных, то время, требуемое для создания индекса, может быть сокращено. При этом увеличивается используемое место на диске, которое используется при индексировании.
    • OFF
      Промежуточные результаты сортировки хранятся в той же базе данных, что и индекс.
  • ONLINE = { ON | OFF }
    Определяет, будут ли базовые таблицы и связанные индексы доступны для запросов и изменения данных во время операций с индексами. Значение по умолчанию — OFF.

    ms186869.note(ru-ru,SQL.90).gifПримечание.
    Уникальные некластеризованные индексы нельзя создавать в оперативном режиме. К ним относятся индексы, создаваемые из-за ограничений UNIQUE и PRIMARY KEY.
    • ON
      Долгосрочные блокировки таблицы не поддерживаются во время операций с индексами. Во время главной фазы операции индексирования только блокировка с намерением совмещаемого доступа (IS) поддерживается для исходной таблицы. Это включает запросы или обновления применительно к обрабатываемой базовой таблице и индексам. В начале операции совмещаемая блокировка (S) удерживается на объекте источника в течение очень короткого времени. В конце операции на источнике на короткое время удерживается совмещаемая блокировка (S), если создается некластеризованный индекс. Если в оперативном режиме создается или удаляется кластеризованный индекс и, если перестраивается кластеризованный или некластеризованный индекс, удерживается блокировка SCH-M (изменения схемы). Значение параметра ONLINE не может быть равным ON в то время, когда индекс создается для временной локальной таблицы.
    • OFF
      Блокировки таблицы применимы во время операций с индексами. Операция с индексами в автономном режиме, которая создает, перестраивает или удаляет кластеризованный индекс или перестраивает или удаляет некластеризованный индекс, получает блокировку модификации схемы (Sch-M) для этой таблицы. Это предотвращает доступ к базовой таблице для всех пользователей во время операции. Индексная операция в автономном режиме, которая создает некластеризованный индекс, получает совмещаемую блокировку (S) для таблицы. Это предотвращает обновление базовой таблицы, но допускает операции чтения, например инструкции SELECT.

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

    ms186869.note(ru-ru,SQL.90).gifПримечание.
    Фоновые операции с индексами доступны только в выпуске SQL Server 2005 Enterprise Edition.
  • MAXDOP = max_degree_of_parallelism
    Переопределяет параметр конфигурации максимальная степень параллелизма на время операций с индексами. Дополнительные сведения см. в разделе Параметр max degree of parallelism. MAXDOP можно использовать для ограничения числа процессоров, используемых в одновременном исполнении планов. Максимально допустимое количество — 64 процессора.

    Аргумент max_degree_of_parallelism может иметь следующие значения:

    • 1
      Подавлять параллельное создание плана.
    • >1
      Ограничивает указанным значением максимальное число процессоров, используемых для параллельных операций с индексами.
    • 0 (по умолчанию)
      В зависимости от текущей рабочей нагрузки системы использовать реальное или меньшее число процессоров.

    Дополнительные сведения см. в разделе Настройка параллельных индексных операций.

    ms186869.note(ru-ru,SQL.90).gifПримечание.
    Параллельные операции с индексами доступны только в SQL Server 2005 Enterprise Edition.

Замечания

Полное описание параметров индекса приведено в разделе CREATE INDEX (Transact-SQL).

См. также

Справочник

ALTER TABLE (Transact-SQL)
column_constraint (Transact-SQL)
computed_column_definition (Transact-SQL)
table_constraint (Transact-SQL)

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

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

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

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

5 декабря 2005 г.

Новое содержимое:
  • Добавлено примечание в определении параметра ONLINE об уникальных некластеризованных индексах.