MySQL — ИНДЕКСЫ

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

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

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

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

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

Простой и уникальный указатель

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

CREATE UNIQUE INDEX index_name ON table_name ( column1, column2,...);

Вы можете использовать один или несколько столбцов для создания индекса.

Например, мы можем создать индекс для tutorials_tbl с помощью tutorial_author .

CREATE UNIQUE INDEX AUTHOR_INDEX ON tutorials_tbl (tutorial_author)

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

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

mysql> CREATE UNIQUE INDEX AUTHOR_INDEX ON tutorials_tbl (tutorial_author DESC)

Команда ALTER для добавления и удаления ИНДЕКС

Есть четыре типа операторов для добавления индексов в таблицу:

  • 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 имя_таблицы ADD FULLTEXT имя_индекса (список_столбцов) — создает специальный индекс FULLTEXT, который используется для поиска по тексту.

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

mysql> ALTER TABLE testalter_tbl ADD INDEX (c);

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

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

mysql> ALTER TABLE testalter_tbl DROP INDEX (c);

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

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

Таким же образом можно добавить первичный ключ. Но убедитесь, что первичный ключ работает с столбцами, которые НЕ НУЛЕНЫ.

Следующий блок кода является примером добавления первичного ключа в существующую таблицу. Это сначала сделает столбец НЕ 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;

Чтобы удалить индекс, который не является ПЕРВИЧНЫМ КЛЮЧОМ, необходимо указать имя индекса.

Отображение информации INDEX

Вы можете использовать команду SHOW INDEX, чтобы вывести список всех индексов, связанных с таблицей. Вывод в вертикальном формате (заданный \ G) часто бывает полезен с этим оператором, чтобы избежать переноса длинной строки —

Попробуйте следующий пример —

mysql> SHOW INDEX FROM table_name\G
........
Выберите поля, которые будут показаны. Прочие будут скрыты. Перктаскивайте мышкой для изменения порядка полей.
  • Изображение
  • SKU
  • Рейтинг
  • Цена
  • Запасы
  • Доступность
  • В корзину
  • Описание
  • Содержимое
  • Вес
  • Размеры
  • Дополнительная информация
  • Атрибуты
  • Custom attributes
  • Настраиваемые поля
Сравнить
Список желаний 0
Открыть страницу желаний Продолжить покупки