MySQL MariaDB

Как найти индекс таблицы в MySQL?

Как найти индекс таблицы в MySQL?
Индекс банка данных - это структура данных, которая повышает скорость транзакций в таблицах. Имея один или даже несколько столбцов, можно генерировать индексы, закладывая основу для взаимно быстрого случайного поиска и эффективной организации входа в записи. При построении индекса следует иметь в виду, что все столбцы отбрасываются для генерации SQL-запросов, а также для создания одного или даже дополнительных индексов для этих столбцов. На практике индексы представляют собой форму таблиц, которые содержат поле столбца первичного ключа или индекса и ссылаются на отдельную таблицу для каждой записи. Пользователи могут не видеть индексы, они отброшены для ускорения запросов, так как поисковая система базы данных будет использовать их для очень быстрой трассировки записей.

Индексы с использованием MySQL WorkBench

Во-первых, запустите MySQL Workbench и подключите его к корневой базе данных.

Мы будем создавать новую таблицу «контакты» в базе данных «данные» с разными столбцами в ней. У нас есть один первичный ключ и один столбец UNIQUE в этой таблице, e.грамм. идентификатор и электронная почта. Здесь вы должны пояснить, что вам не нужно создавать индексы для столбцов UNIQUE и PRIMARY. База данных автоматически создает индексы для обоих типов столбцов. Таким образом, мы создадим индекс 'phone' для столбца 'phone' и индекс 'name' для столбцов 'first_name' и 'last_name'. Выполните запрос, используя значок вспышки на панели задач.

Из вывода видно, что таблица и индексы созданы.

Теперь перейдите к панели схемы. В списке «Таблицы» вы можете найти только что созданную таблицу.

Давайте попробуем команду SHOW INDEXES, чтобы проверить индексы для этой конкретной таблицы, как показано ниже в области запроса, используя значок flash.

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

Индексы с использованием оболочки командной строки MySQL

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

Пример 01
Предположим, что у нас есть таблица order1 в схеме order с некоторыми столбцами, имеющими значения, как показано на изображении. Используя команду SELECT, мы должны получить записи 'order1'.

>> ВЫБРАТЬ * ИЗ данных.order1;

Поскольку мы еще не определили индексы для таблицы order1, угадать невозможно. Итак, мы попробуем использовать команду SHOW INDEXES или SHOW KEYS для проверки индексов следующим образом:

>> ПОКАЗАТЬ КЛЮЧИ ИЗ данных order1 IN;

Вы можете понять, что таблица 'order1' имеет только 1 столбец первичного ключа из приведенного ниже вывода. Это означает, что индексы еще не определены, поэтому он показывает только записи с одной строкой для столбца первичного ключа 'id'.

Давайте проверим индексы для любого столбца в таблице 'order1', где видимость отключена, как показано ниже.

>> ПОКАЗАТЬ ИНДЕКСЫ ИЗ ДАННЫХ.order1 WHERE VISIBLE = 'НЕТ';

Теперь мы создадим несколько УНИКАЛЬНЫХ индексов для таблицы order1.  Мы назвали этот УНИКАЛЬНЫЙ ИНДЕКС как 'rec' и применили его к 4 столбцам: id, Region, Status и OrderNo. Попробуйте для этого команду ниже.

>> СОЗДАТЬ УНИКАЛЬНЫЙ ИНДЕКС ЗАПИСИ ДАННЫХ.заказ1 (идентификатор, регион, статус, номер заказа);

Теперь посмотрим на результат создания индексов для конкретной таблицы. Результат приведен ниже после использования команды SHOW INDEXES. У нас есть список всех созданных индексов с одинаковыми именами rec для каждого столбца.

>> ПОКАЗАТЬ ИНДЕКСЫ ИЗ данных order1 IN;

Пример 02
Предположим, что новая таблица "student" в базе данных "data" с полями с четырьмя столбцами, имеющими некоторые записи. Получите данные из этой таблицы с помощью запроса SELECT следующим образом:

>> ВЫБРАТЬ * ИЗ данных.ученик;

Давайте сначала извлечем индексы столбцов первичного ключа, попробовав следующую команду SHOW INDEXES.

>> ПОКАЗАТЬ ИНДЕКСЫ ИЗ данных.студент ГДЕ Key_name = 'ПЕРВИЧНЫЙ';

Вы можете видеть, что он выведет индексную запись для единственного столбца, имеющего тип PRIMARY из-за предложения WHERE, используемого в запросе.

Давайте создадим один уникальный и один неуникальный индекс для разных столбцов таблицы "student". Сначала мы создадим УНИКАЛЬНЫЙ индекс 'std' в столбце 'Имя' таблицы 'student', используя команду CREATE INDEX в клиентской оболочке командной строки, как показано ниже.

>> СОЗДАТЬ УНИКАЛЬНЫЙ ИНДЕКС std по данным.имя студента );

Давайте создадим или добавим неуникальный индекс в столбец «Тема» таблицы «студент» при использовании команды ALTER. Да, мы использовали команду ALTER, потому что она используется для изменения таблицы. Итак, мы изменили таблицу, добавив индексы в столбцы. Итак, давайте попробуем выполнить приведенный ниже запрос ALTER TABLE в оболочке командной строки, добавив индекс stdSub в столбец Subject.

>> ALTER TABLE data.студент ДОБАВИТЬ ИНДЕКС stdSub (Тема);

Теперь настала очередь проверить недавно добавленные индексы в таблице «студент» и ее столбцах «Имя» и «Тема». Попробуйте выполнить команду ниже, чтобы проверить это.

>> ПОКАЗАТЬ ИНДЕКСЫ ИЗ данных.ученик;

Из выходных данных вы можете видеть, что запросы присвоили неуникальный индекс столбцу «Тема» и уникальный индекс столбцу «Имя». Вы также можете увидеть названия индексов.

Давайте попробуем команду DROP INDEX, чтобы удалить индекс 'stdSub' из таблицы 'student'.

>> DROP INDEX stdSub ON данные.ученик;

Давайте посмотрим на оставшиеся индексы, используя ту же инструкцию SHOW INDEX, как показано ниже. Теперь у нас остались только два индекса в таблице "student", как показано ниже.

>> ПОКАЗАТЬ ИНДЕКСЫ ИЗ данных.ученик;

Заключение

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

Как установить Doom и играть в него в Linux
Введение в Doom Серия Doom возникла в 90-х годах после выхода оригинальной Doom. Это мгновенно стал хитом, и с тех пор серия игр получила множество на...
Vulkan для пользователей Linux
С каждым новым поколением видеокарт мы видим, как разработчики игр расширяют границы графической точности и приближаются на шаг ближе к фотореализму. ...
OpenTTD против Simutrans
Создание собственного транспортного симулятора может быть увлекательным, расслабляющим и чрезвычайно увлекательным занятием. Вот почему вам нужно попр...