MySQL MariaDB

Как да намеря индекса на таблица в MySQL?

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

Индекси, използващи MySQL WorkBench

Първо, стартирайте MySQL Workbench и го свържете с основната база данни.

Ще създадем нова таблица „контакти“ в базата данни „данни“ с различни колони в нея. В тази таблица имаме един първичен ключ и една колона UNIQUE ключ, напр.ж. идентификационен номер и имейл. Тук трябва да изясните, че не е необходимо да създавате индекси за UNIQUE и PRIMARY ключови колони. Базата данни автоматично създава индексите за двата типа колони. Така че ще направим индекс „телефон“ за колоната „телефон“ и индекс „име“ за колоните „първо име“ и „фамилно име“. Изпълнете заявката, като използвате иконата на флаш в лентата на задачите.

От изхода можете да видите, че таблицата и индексите са създадени.

Сега се придвижете към лентата на схемата. Под списъка „Таблици“ можете да намерите новосъздадената таблица.

Нека опитаме командата SHOW INDEXES, за да проверим индексите за тази конкретна таблица, както е показано по-долу в областта на заявката, използвайки знака за флаш.

Този прозорец ще се появи наведнъж. Можете да видите колона „Име на ключ“, която показва, че ключът принадлежи на всяка колона. Тъй като създадохме индекса „телефон“ и „име“, той също се появява. Можете да видите друга подходяща информация относно индексите e.ж., последователност на индекса за конкретна колона, тип индекс, видимост и т.н.

Индекси, използващи командната линия на MySQL

Отворете клиентската обвивка на командния ред на MySQL от вашия компютър. Въведете паролата за MySQL, за да започнете да използвате.

Пример 01
Да приемем, че имаме таблица „order1“ в схемата „order“ с някои колони със стойности, както е показано на изображението. Използвайки командата SELECT, трябва да извлечем записите на 'order1'.

>> ИЗБЕРЕТЕ * ОТ данни.поръчка1;

Тъй като все още не сме дефинирали никакви индекси за таблицата 'order1', е невъзможно да се отгатне. Така че ще опитаме командата SHOW INDEXES или SHOW KEYS, за да проверим индексите, както следва:

>> ПОКАЖЕТЕ КЛЮЧОВЕ ОТ данни за поръчка1 IN;

Можете да разберете, че таблицата '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, използвана в заявката.

Нека създадем един уникален и един не-уникален индекс на различните колони „ученик“ на таблицата. Първо ще създадем UNIQUE индекс „std“ в колоната „Име“ на таблицата „студент“, като използваме командата CREATE INDEX в черупката на клиента на командния ред, както е показано по-долу.

>> СЪЗДАЙТЕ УНИКАЛЕН ИНДЕКС std ON данни.студент (Име);

Нека създадем или добавим уникален индекс в колоната „Тема“ на таблицата „ученик“, докато използваме командата ALTER. Да, използвахме командата ALTER, защото тя се използва за модифициране на таблицата. Така че ние модифицирахме таблицата чрез добавяне на индекси към колоните. Така че нека опитаме по-долу заявката ALTER TABLE в черупката на командния ред, добавете индекса 'stdSub' към колоната 'Subject'.

>> Данни за ALTER TABLE.студент ADD INDEX stdSub (Тема);

Сега е ред да проверите за новодобавените индекси в таблицата „студент“ и нейните колони „Име“ и „Тема“. Опитайте командата по-долу, за да я проверите.

>> ПОКАЖЕТЕ ИНДЕКСИ ОТ данните.студент;

От изхода можете да видите, че заявките са присвоили неуникалния индекс на колоната „Тема“ и уникалния индекс на колоната „Име“. Можете също да видите имената на индексите.

Нека опитаме командата DROP INDEX, за да пуснем индекса 'stdSub' от таблицата 'студент'.

>> DROP INDEX stdSub ON данни.студент;

Нека видим останалите индекси, като използваме същата инструкция SHOW INDEX, както по-долу. Сега останахме с единствените два индекса, останали в таблицата „студент“ според изхода по-долу.

>> ПОКАЖЕТЕ ИНДЕКСИ ОТ данните.студент;

Заключение

И накрая, направихме всички необходими примери за това как да създаваме уникални и не-уникални индекси, да показваме или проверяваме индекси и да пускаме индексите за конкретната таблица.

WinMouse ви позволява да персонализирате и подобрите движението на показалеца на мишката на компютър с Windows
Ако искате да подобрите функциите по подразбиране на показалеца на мишката, използвайте безплатна програма WinMouse. Той добавя още функции, за да ви ...
Бутонът на левия бутон на мишката не работи в Windows 10
Ако използвате специална мишка с вашия лаптоп или настолен компютър, но бутонът на левия бутон на мишката не работи на Windows 10/8/7 по някаква причи...
Курсорът скача или се движи произволно, докато пишете в Windows 10
Ако установите, че курсорът на вашата мишка скача или се движи самостоятелно, автоматично, произволно, докато пишете в лаптоп или компютър на Windows,...