Установка параметров индекса

Применяется к:SQL ServerAzure SQL DatabaseAzure, управляемому экземпляру SQL Azure

В этом разделе описывается изменение свойств индекса в SQL Server с помощью SQL Server Management Studio или Transact-SQL.

В этой статье:

Перед началом

Ограничения

  • Следующие параметры немедленно применяются к индексу с помощью предложения SET в инструкции ALTER INDEX: ALLOW_PAGE_LOCKS, ALLOW_ROW_LOCKS, OPTIMIZE_FOR_SEQUENTIAL_KEY, IGNORE_DUP_KEY и STATISTICS_NORECOMPUTE.
  • Следующие параметры можно установить при перестройке индекса с помощью инструкции ALTER INDEX REBUILD или CREATE INDEX WITH DROP_EXISTING: PAD_INDEX, FILLFACTOR, SORT_IN_TEMPDB, IGNORE_DUP_KEY, STATISTICS_NORECOMPUTE, ONLINE, ALLOW_ROW_LOCKS, ALLOW_PAGE_LOCKS, MAXDOP и DROP_EXISTING (только CREATE INDEX).

Безопасность

Разрешения

Необходимо разрешение ALTER для таблицы или представления.

Использование среды SQL Server Management Studio

Изменение свойств индекса при помощи конструктора таблиц.

  1. В обозревателе объектов щелкните значок плюса, чтобы развернуть базу данных, содержащую таблицу, в которой необходимо изменить свойства индекса.
  2. Чтобы развернуть папку Таблицы , щелкните значок «плюс».
  3. Щелкните правой кнопкой мыши таблицу, в которой необходимо изменить свойства индекса, а затем выберите пункт Проект.
  4. В меню Конструктор таблиц выберите пункт Индексы и ключи.
  5. Выберите индекс, свойства которого необходимо изменить. Его свойства отобразятся в основной сетке.
  6. Измените значения любого или всех свойств, чтобы внести изменения в индекс.
  7. Нажмите кнопку Закрыть.
  8. В меню Файл выберите пункт Сохранитьимя_таблицы.

Изменение свойств индекса при помощи обозревателя объектов.

  1. В обозревателе объектов щелкните значок плюса, чтобы развернуть базу данных, содержащую таблицу, в которой необходимо изменить свойства индекса.
  2. Чтобы развернуть папку Таблицы , щелкните значок «плюс».
  3. Щелкните значок плюса (+), чтобы развернуть таблицу, в которой необходимо изменить свойства индекса.
  4. Чтобы развернуть папку Индексы , щелкните знак «плюс» (+).
  5. Щелкните правой кнопкой мыши индекс, свойства которого требуется изменить, и выберите пункт Свойства.
  6. В разделе Выбор страницыщелкните Параметры.
  7. Измените значения любого или всех свойств, чтобы внести изменения в индекс.
  8. Чтобы добавить столбец индекса, удалить или изменить его позицию, выберите в диалоговом окне Свойства индекса ―имя_индексаОбщие . Дополнительные сведения см. в разделе Index Properties F1 Help.

Использование Transact-SQL

Просмотр свойств всех индексов в таблице

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

SELECT i.name AS index_name
   , i.type_desc
   , i.is_unique
   , ds.type_desc AS filegroup_or_partition_scheme
   , ds.name AS filegroup_or_partition_scheme_name
   , i.ignore_dup_key
   , i.is_primary_key
   , i.is_unique_constraint
   , i.fill_factor
   , i.is_padded
   , i.is_disabled
   , i.allow_row_locks
   , i.allow_page_locks
   , i.has_filter
   , i.filter_definition
FROM sys.indexes AS i
   INNER JOIN sys.data_spaces AS ds
      ON i.data_space_id = ds.data_space_id
   WHERE is_hypothetical = 0 AND i.index_id <> 0
       AND i.object_id = OBJECT_ID('HumanResources.Employee')
;

Задание свойств индекса

В следующих примерах устанавливаются свойства индексов в базе данных AdventureWorks.

ALTER INDEX AK_SalesOrderHeader_SalesOrderNumber ON
    Sales.SalesOrderHeader
SET (
    STATISTICS_NORECOMPUTE = ON,
    IGNORE_DUP_KEY = ON,
    ALLOW_PAGE_LOCKS = ON
    )
;
ALTER INDEX ALL ON Production.Product
REBUILD WITH 
   (
       FILLFACTOR = 80
       , SORT_IN_TEMPDB = ON
       , STATISTICS_NORECOMPUTE = ON
   )
;

Дополнительные сведения см. в разделе ALTER INDEX (Transact-SQL).