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'.
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:
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.