Индексы с использованием 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, угадать невозможно. Итак, мы попробуем использовать команду 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", как показано ниже.
>> ПОКАЗАТЬ ИНДЕКСЫ ИЗ данных.ученик;
Заключение
Наконец, мы сделали все необходимые примеры о том, как создавать уникальные и неуникальные индексы, отображать или проверять индексы и удалять индексы для конкретной таблицы.