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

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

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

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

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

Команда ALTER для добавления и удаления INDEX

Существует четыре типа операторов для добавления индексов в таблицу —

  • ALTER TABLE tbl_name ADD PRIMARY KEY (column_list) — этот оператор добавляет PRIMARY KEY , что означает, что индексированные значения должны быть уникальными и не могут быть NULL.
  • ALTER TABLE tbl_name ADD UNIQUE index_name (column_list)— этот оператор создает индекс, для которого значения должны быть уникальными (за исключением значений NULL, которые могут появляться несколько раз).
  • ALTER TABLE tbl_name ADD INDEX index_name (column_list) — добавляет обычный индекс, в котором любое значение может отображаться более одного раза.
  • ALTER TABLE tbl_name ADD FULLTEXT index_name (column_list) — создает специальный индекс FULLTEXT, который используется для поиска текста.

Следующий код-блок является примером добавления индекса в существующую таблицу.

mysql> ALTER TABLE testalter_tbl ADD INDEX (c);

Вы можете удалить любой ИНДЕКС, используя предложение DROP вместе с командой ALTER.

Попробуйте следующий пример, чтобы удалить указанный выше индекс.

mysql> ALTER TABLE testalter_tbl DROP INDEX (c);

Вы можете удалить любой ИНДЕКС, используя предложение DROP вместе с командой ALTER.

Команда ALTER для добавления и удаления ПЕРВИЧНОГО КЛЮЧА

Вы также можете добавить первичный ключ таким же образом. Но убедитесь, что первичный ключ работает с столбцами, которые не являются NULL.

Следующий код-блок является примером добавления первичного ключа в существующую таблицу. Сначала это сделает столбец NOT NULL, а затем добавит его в качестве первичного ключа.

mysql> ALTER TABLE testalter_tbl MODIFY i INT NOT NULL;
mysql> ALTER TABLE testalter_tbl ADD PRIMARY KEY (i);

Вы можете использовать команду ALTER для удаления первичного ключа следующим образом:

mysql> ALTER TABLE testalter_tbl DROP PRIMARY KEY;

Чтобы удалить индекс, который не является PRIMARY KEY, вы должны указать имя индекса.