SQL Server Включить индексы

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

Иногда вам нужно отключить индекс перед выполнением большого обновления таблицы. Отключив индекс, вы можете ускорить процесс обновления, избежав накладных расходов на запись индекса.

После завершения обновления таблицы вам необходимо включить индекс. Поскольку индекс был отключен, вы можете перестроить индекс, но не можете просто включить его. Поскольку после операции обновления индекс необходимо перестроить, чтобы отразить новые данные в таблице.

В SQL Server можно перестроить индекс с помощью оператора ALTER INDEX или команды DBCC DBREINDEX.

Включение индекса с помощью операторов ALTER INDEX и CREATE INDEX

Этот оператор использует оператор ALTER INDEX для «включения» или перестроения индекса в таблице:

ALTER INDEX index_name 
ON table_name  
REBUILD;

Этот оператор использует оператор CREATE INDEX для включения отключенного индекса и его повторного создания:

CREATE INDEX index_name 
ON table_name(column_list)
WITH(DROP_EXISTING=ON)

Следующий оператор использует оператор ALTER INDEX для включения всех отключенных индексов в таблице:

ALTER INDEX ALL ON table_name
REBUILD;

Включение индексов с помощью оператора DBCC DBREINDEX

Этот оператор использует DBCC DBREINDEX для включения индекса в таблице:

DBCC DBREINDEX(table_name, index_name);

Этот оператор использует DBCC DBREINDEX для включения всех индексов в таблице:

DBCC DBREINDEX(table_name, " ");  

Пример включения индексов

В следующем примере используется оператор ALTER INDEX для включения всех индексов в таблице sales.customers из образца базы данных :

ALTER INDEX ALL ON sales.customers
REBUILD;

В этом руководстве вы изучили различные операторы, включая ALTER INDEX, CREATE INDEX и DBCC DBREINDEX, для включения одного или всех индексов в таблице.

Мирослав С.

Автор статей, ИБ-специалист