Індекси за допомогою MySQL WorkBench
По-перше, запустіть MySQL Workbench і підключіть його до кореневої бази даних.
Ми створимо нову таблицю "контакти" в базі даних "data", що містить різні стовпці. У цій таблиці ми маємо один первинний ключ та один УНІКАЛЬНИЙ стовпець ключа, наприклад.g. ідентифікатор та електронна пошта. Тут вам слід пояснити, що вам не потрібно створювати індекси для стовпців UNIQUE та PRIMARY. База даних автоматично створює індекси для обох типів стовпців. Отже, ми будемо робити індекс "телефон" для стовпця "телефон" та індекс "ім'я" для стовпців "перше ім'я" та "прізвище". Виконайте запит за допомогою піктограми спалаху на панелі завдань.
З результату видно, що таблиця та індекси створені.
Тепер перейдіть до панелі схеми. У списку "Таблиці" ви можете знайти новостворену таблицю.
Давайте спробуємо команду SHOW INDEXES, щоб перевірити індекси для цієї конкретної таблиці, як показано нижче в області запиту, використовуючи знак спалаху.
Це вікно з’явиться одразу. Ви можете бачити стовпець "Ім'я ключа", який показує, що ключ належить кожному стовпцю. Оскільки ми створили індекс "телефон" та "ім'я", він також з'являється. Ви можете побачити іншу відповідну інформацію щодо покажчиків e.g., послідовність індексу для певного стовпця, тип індексу, видимість тощо.
Індекси за допомогою оболонки командного рядка MySQL
Відкрийте оболонку клієнтського рядка командного рядка MySQL зі свого комп'ютера. Введіть пароль MySQL, щоб почати використовувати.
Приклад 01
Припустимо, що ми маємо таблицю 'order1' у схемі 'order' з деякими стовпцями, що мають значення, як показано на зображенні. За допомогою команди SELECT ми маємо отримати записи 'order1'.
Оскільки ми ще не визначили жодного індексу для таблиці 'order1', неможливо здогадатися. Отже, ми спробуємо команду SHOW INDEXES або SHOW KEYS, щоб перевірити індекси наступним чином:
>> ПОКАЗАТИ КЛЮЧІ від даних замовлення1 В;Ви можете зрозуміти, що таблиця 'order1' має лише 1 стовпець первинного ключа з нижченаведеного виводу. Це означає, що індексів ще не визначено, тому він відображає лише 1-рядкові записи для стовпця первинного ключа 'id'.
Давайте перевіримо індекси для будь-якого стовпця в таблиці 'order1', де видимість вимкнена, як показано нижче.
>> ПОКАЗАТИ ІНДЕКСИ ВІД даних.замовлення1 ДЕ ВИДИМО = 'НІ';
Тепер ми створимо кілька УНІКАЛЬНИХ індексів у таблиці 'order1'. Ми назвали цей УНІКАЛЬНИЙ ІНДЕКС як "rec" та застосували його до 4 стовпців: id, Region, Status і OrderNo. Спробуйте виконати наведену нижче команду.
>> СТВОРИТИ УНІКАЛЬНИЙ ІНДЕКС запис даних.order1 (id, Region, Status, OrderNo);
Тепер давайте побачимо результат створення індексів для конкретної таблиці. Результат наведено нижче після використання команди SHOW INDEXES. У нас є список усіх створених індексів, що мають однакові назви 'rec' для кожного стовпця.
>> ПОКАЗАТИ ІНДЕКСИ З даних замовлення1 В;
Приклад 02
Припустимо нову таблицю "студент" у базі даних "дані" з полями з чотирма стовпцями, що містять деякі записи. Отримайте дані з цієї таблиці, використовуючи запит SELECT наступним чином:
Давайте спочатку отримаємо індекси стовпців первинного ключа, спробувавши наведену нижче команду SHOW INDEXES.
>> ПОКАЗАТИ ІНДЕКСИ ВІД даних.студент WHERE Key_name = 'PRIMARY';Ви можете бачити, що він виведе запис індексу для єдиного стовпця типу "PRIMARY" через речення WHERE, що використовується в запиті.
Давайте створимо один унікальний та один не унікальний індекс на різних стовпцях "студент" таблиці. Спочатку ми створимо УНІКАЛЬНИЙ індекс 'std' у стовпці 'Ім'я' таблиці 'студент' за допомогою команди CREATE INDEX у оболонці клієнтського рядка, як показано нижче.
>> СТВОРИТИ УНІКАЛЬНИЙ ІНДЕКС std ON дані.ім'я студента );
Давайте створимо або додамо не унікальний індекс у стовпці «Тема» таблиці «студент» під час використання команди ALTER. Так, ми використовували команду ALTER, оскільки вона використовується для модифікації таблиці. Отже, ми модифікували таблицю, додаючи індекси до стовпців. Тож давайте спробуємо наведений нижче запит ALTER TABLE в оболонці командного рядка, додати індекс 'stdSub' до стовпця 'Тема'.
>> ЗМІНИТИ таблицю даних.студент ДОДАТИ ІНДЕКС stdSub (Тема);
Тепер настала черга перевірити нещодавно додані індекси таблиці 'студент' та її стовпців 'Ім'я' та 'Тема'. Спробуйте команду нижче, щоб перевірити її.
>> ПОКАЗАТИ ІНДЕКСИ ВІД даних.студент;З вихідних даних видно, що запити присвоїли неоднозначний індекс стовпцю "Тема", а унікальний індекс - стовпцю "Ім'я". Ви також можете побачити назви покажчиків.
Спробуємо команду DROP INDEX, щоб скинути індекс 'stdSub' з таблиці 'student'.
>> DROP INDEX stdSub ON дані.студент;
Давайте побачимо решту індексів, використовуючи ту саму інструкцію SHOW INDEX, що і нижче. Зараз ми залишили лише два індекси, що залишились у таблиці „студент” згідно з наведеним нижче результатом.
>> ПОКАЗАТИ ІНДЕКСИ ВІД даних.студент;
Висновок
Нарешті, ми зробили всі необхідні приклади про те, як створювати унікальні та не унікальні індекси, показувати або перевіряти індекси та скидати індекси для конкретної таблиці.