Удаление индексов

MS SQL Server
Для удаления обычных индексов в СУБД MS SQL используется оператор DROP INDEX:

DROP INDEX <index_name> ON <table_name>

Однако оператор DROP INDEX неприменим к первичным ключам (индекс PRIMARY KEY) и уникальным индексам (UNIQUE). Для удаления первичных ключей и уникальных индексов используется оператор ALTER TABLE с предложением DROP CONSTRAINT:

ALTER TABLE <table_name> DROP CONSTRAINT <index_name>

MySQL Server
В СУБД MySQL удаление индексов производится операторами DROP INDEX или ALTER TABLE. Удаление первичных ключей (индексов PRIMARY KEY) осуществляется только с помощью оператора ALTER TABLE. Операторы удаления индексов имеют следующий синтаксис:

DROP INDEX <index_name> ON <bl_name>

ALTER TABLE <tbl_name> DROP INDEX <index_name>

Оператор для удаления индекса PRIMARY KEY имеет синтаксис:

ALTER TABLE <tbl_name> DROP PRIMARY KEY

Если такой индекс с именем PRIMARY KEY создан не был, а таблица имеет один или несколько индексов UNIQUE, будет удален первый из них.

Удаление столбцов из таблицы влияет на индексы. Удаляя столбец из таблицы, вы тем самым удаляете этот столбец из индекса. Удаляя все индексируемые столбцы из таблицы, вы удаляете весь индекс.

IDevice IconПример

Удалить уникальный индекс client_phone в таблице tbl_clients

MS SQL:*
ALTER TABLE tbl_clients DROP CONSTRAINT client_phone

MySQL:
DROP INDEX client_phone ON tbl_clients
или
ALTER TABLE tbl_clients DROP INDEX client_phone

* В MS SQL не допускает применения оператора DROP INDEX для удаления уникальных индексов.