MySQL MariaDB

Ako nájdem index tabuľky v MySQL?

Ako nájdem index tabuľky v MySQL?
Index databanky je usporiadanie údajov, ktoré zvyšuje rýchlosť tabuľkových transakcií. S jedným alebo dokonca viacerými stĺpcami je možné generovať indexy, ktoré vytvárajú základňu pre vzájomné rýchle náhodné vyhľadávanie a efektívne usporiadanie vstupných záznamov. Toto treba mať na pamäti pri konštrukcii indexu, že všetky stĺpce sú vyčlenené na generovanie dotazov SQL a tiež na vytvorenie jedného alebo dokonca ďalších indexov pre tieto stĺpce. V praxi sú indexy formou tabuliek, ktoré obsahujú pole primárneho kľúča alebo stĺpca indexu a odkazujú na jednotlivé tabuľky pre každý záznam. Používatelia nemusia vidieť indexy, tieto sú určené na zrýchlenie dotazov, rovnako ako databázový vyhľadávací modul by ich spotreboval na veľmi rýchle sledovanie záznamov.

Indexy pomocou MySQL WorkBench

Najskôr spustite MySQL Workbench a pripojte ho k koreňovej databáze.

Vytvoríme novú tabuľku „kontakty“ v databáze „data“, ktorá bude obsahovať rôzne stĺpce. V tejto tabuľke máme jeden primárny kľúč a jeden stĺpec UNIQUE key, napr.g. id a email. Tu musíte objasniť, že nemusíte vytvárať indexy pre stĺpce UNIQUE a PRIMARY kľúčov. Databáza automaticky vytvára indexy pre oba typy stĺpcov. Takže urobíme index „phone“ pre stĺpec „phone“ a index „name“ pre stĺpce „first_name“ a „last_name“. Dotaz vykonajte pomocou ikony Flash na paneli úloh.

Z výstupu vidíte, že bola vytvorená tabuľka a indexy.

Teraz prejdite na panel schémy. V zozname Tabuľky nájdete novovytvorenú tabuľku.

Vyskúšajme príkaz ZOBRAZIŤ INDEXY a pomocou znaku flash skontrolujeme indexy tejto konkrétnej tabuľky, ako je uvedené nižšie v oblasti dotazu.

Toto okno sa zobrazí naraz. Môžete vidieť stĺpec „Key_name“, ktorý zobrazuje, že kľúč patrí do každého stĺpca. Keď sme vytvorili index „telefón“ a „meno“, zobrazí sa tiež. Môžete si pozrieť ďalšie príslušné informácie týkajúce sa indexov, napr.g., postupnosť indexu pre konkrétny stĺpec, typ indexu, viditeľnosť atď.

Indexuje pomocou príkazového riadku MySQL

Otvorte shell klienta príkazového riadku MySQL z počítača. Začnite používať zadaním hesla MySQL.

Príklad 01
Predpokladajme, že máme tabuľku „order1“ v schéme „order“, pričom niektoré stĺpce majú hodnoty, ako je znázornené na obrázku. Pomocou príkazu SELECT musíme načítať záznamy 'order1'.

>> SELECT * FROM data.objednávka1;

Pretože sme pre tabuľku 'order1' zatiaľ nedefinovali žiadne indexy, je nemožné to uhádnuť. Pokúsime sa teda pomocou príkazu SHOW INDEXES alebo SHOW KEYS skontrolovať indexy nasledovne:

>> ZOBRAZIŤ KLÁVESY OD objednávky1 V dátach;

Z tabuľky uvedenej nižšie môžete vidieť, že tabuľka „order1“ má iba jeden stĺpec primárneho kľúča. To znamená, že zatiaľ nie sú definované žiadne indexy, preto zobrazuje iba jednoriadkové záznamy pre stĺpec primárneho kľúča „id“.

Skontrolujte indexy ktoréhokoľvek stĺpca v tabuľke „order1“, kde je viditeľnosť vypnutá, ako je uvedené nižšie.

>> ZOBRAZIŤ INDEXY Z údajov.objednávka1 KDE VIDITEĽNÉ = 'NIE';

Teraz budeme vytvárať niektoré UNIQUE indexy v tabuľke 'order1'.  Tento UNIKÁTNY INDEX sme pomenovali ako „rec“ a aplikovali sme ho na 4 stĺpce: id, Region, Status a OrderNo. Vyskúšajte to nižšie uvedeným príkazom.

>> VYTVORTE JEDINEČNÝ INDEX rec ON.order1 (id, Region, Status, OrderNo);

Teraz sa pozrime na výsledok vytvorenia indexov pre konkrétnu tabuľku. Výsledok je uvedený nižšie po použití príkazu SHOW INDEXES. Máme zoznam všetkých vytvorených indexov, ktoré majú pre každý stĺpec rovnaké názvy „rec“.

>> ZOBRAZIŤ INDEXY Z objednávky1 V dátach;

Príklad 02
Predpokladajme novú tabuľku „študent“ v databáze „dáta“ so štvorstĺpcovými poľami, ktoré majú nejaké záznamy. Načítajte údaje z tejto tabuľky pomocou dotazu SELECT takto:

>> SELECT * FROM data.študent;

Najprv načítame indexy stĺpcov primárneho kľúča pomocou nasledujúceho príkazu SHOW INDEXES.

>> ZOBRAZIŤ INDEXY Z údajov.študent WHERE Key_name = 'PRIMARY';

Vidíte, že bude výstupom indexového záznamu pre jediný stĺpec typu „PRIMÁRNY“ kvôli klauzule WHERE použitej v dotaze.

Vytvorme jeden jedinečný a jeden nejedinečný index v rôznych stĺpcoch tabuľky „študent“. Najskôr vytvoríme UNIKÁTNY index „std“ v stĺpci „Názov“ tabuľky „študent“ pomocou príkazu CREATE INDEX v klientskom prostredí príkazového riadku, ako je uvedené nižšie.

>> VYTVORTE JEDINEČNÝ INDEX štandardné dáta.meno študenta );

Vytvorme alebo pridáme nejedinečný index v stĺpci „Predmet“ tabuľky „študent“ pomocou príkazu ALTER. Áno, používali sme príkaz ALTER, pretože sa používa na úpravu tabuľky. Takže sme upravovali tabuľku pridaním indexov do stĺpcov. Vyskúšajme teda nasledujúci dotaz ALTER TABLE v prostredí príkazového riadku a do stĺpca „Subject“ pridajme index „stdSub“.

>> ZMENIŤ TABUĽKU údajov.študent PRIDAŤ INDEX stdSub (predmet);

Teraz je na rade kontrola novo pridaných indexov v tabuľke „študent“ a jej stĺpcoch „Názov“ a „Predmet“. Skúste to skontrolovať pomocou nižšie uvedeného príkazu.

>> ZOBRAZIŤ INDEXY Z údajov.študent;

Z výstupu vidíte, že dotazy priradili nejedinečný index k stĺpcu „Predmet“ a jedinečný index k stĺpcu „Názov“. Môžete tiež zobraziť názvy indexov.

Skúsme príkazom DROP INDEX vypustiť index 'stdSub' z tabuľky 'student'.

>> DROP INDEX stdSub ON dáta.študent;

Pozrieť si zvyšné indexy pomocou rovnakej inštrukcie SHOW INDEX, ako je uvedené nižšie. Teraz nám zostali iba dva indexy, ktoré zostali v tabuľke „študent“ podľa nižšie uvedeného výstupu.

>> ZOBRAZIŤ INDEXY Z údajov.študent;

Záver

Nakoniec sme vykonali všetky potrebné príklady toho, ako vytvoriť jedinečné a nejedinečné indexy, zobraziť alebo skontrolovať indexy a zrušiť indexy pre konkrétnu tabuľku.

Hry Výukový program OpenTTD
Výukový program OpenTTD
OpenTTD je jednou z najpopulárnejších obchodných simulačných hier. V tejto hre musíte vytvoriť úžasné dopravné podnikanie. Začnete však na začiatku ok...
Hry SuperTuxKart pre Linux
SuperTuxKart pre Linux
SuperTuxKart je vynikajúci titul navrhnutý tak, aby vám priniesol zážitok z hry Mario Kart zadarmo na vašom systéme Linux. Je to dosť náročné a zábavn...
Hry Výukový program Battle for Wesnoth
Výukový program Battle for Wesnoth
Battle for Wesnoth je jednou z najpopulárnejších open source strategických hier, ktoré si v súčasnosti môžete zahrať. Táto hra bola nielen vyvinutá ve...