MySQL MariaDB

Kako najdem indeks tabele v MySQL?

Kako najdem indeks tabele v MySQL?
Kazalo podatkovne banke je podatkovna ureditev, ki povečuje hitrost tabelnih transakcij. Z enim ali več stolpci se lahko ustvarijo indeksi, ki postavljajo temelje za medsebojno hitra naključna iskanja in učinkovito ureditev vnosa zapisov. To je treba upoštevati pri gradnji indeksa, da so vsi stolpci izločeni za generiranje poizvedb SQL in tudi za izdelavo enega ali celo nadaljnjih indeksov za te stolpce. V praksi so indeksi oblika tabel, ki vsebujejo polje primarnega ključa ali stolpca indeksa in se sklicujejo na posamezno tabelo za vsak zapis. Uporabniki morda ne bodo videli indeksov, ki bi jih pospešili poizvedbe, pa tudi iskalnik po bazah podatkov bi jih zelo hitro porabil za sledenje zapisom.

Kazala, ki uporabljajo MySQL WorkBench

Najprej zaženite MySQL Workbench in ga povežite s korensko bazo podatkov.

Ustvarili bomo novo tabelo 'stiki' v zbirki podatkov 'podatki' z različnimi stolpci. V tej tabeli imamo en primarni ključ in en stolpec UNIQUE, npr.g. ID in e-pošta. Tukaj morate pojasniti, da vam ni treba ustvariti indeksov za UNIQUE in PRIMARY ključna stolpca. Baza podatkov samodejno izdela indekse za obe vrsti stolpcev. Tako bomo naredili indeks "telefon" za stolpec "telefon" in indeks "ime" za stolpca "prvo_ime" in "priimek". Poizvedbo izvedite z ikono bliskavice v opravilni vrstici.

Iz izhoda lahko vidite, da so tabela in indeksi ustvarjeni.

Zdaj se pomaknite proti shematski vrstici. Na seznamu 'Tabele' najdete novo ustvarjeno tabelo.

Poskusimo z ukazom POKAŽI INDEKSE za preverjanje indeksov za to posebno tabelo, kot je prikazano spodaj v območju poizvedbe z uporabo bliskavice.

To okno se bo prikazalo naenkrat. Ogledate si lahko stolpec "Key_name", ki prikazuje ključ, ki pripada vsakemu stolpcu. Ker smo ustvarili indeks 'telefon' in 'ime', se zdi, da je tudi. Ogledate si lahko druge pomembne informacije v zvezi z indeksi e.g., zaporedje indeksa za določen stolpec, vrsto indeksa, vidnost itd.

Indeksiranje z uporabo lupine ukazne vrstice MySQL

V računalniku odprite odjemalsko lupino ukazne vrstice MySQL. Za začetek vnesite geslo MySQL.

Primer 01
Predpostavimo, da imamo v shemi 'order' tabelo 'order1' z nekaterimi stolpci z vrednostmi, kot je prikazano na sliki. Z ukazom SELECT moramo pridobiti zapise 'order1'.

>> IZBERI * IZ podatkov.naročilo1;

Ker še nismo definirali nobenega indeksa za tabelo 'order1', je nemogoče uganiti. Tako bomo poskusili ukaz SHOW INDEXES ali SHOW KEYS, da preverimo indekse, kot sledi:

>> POKAŽI KLJUČE OD podatkov order1 IN;

Zaznate lahko, da ima tabela 'order1' samo 1 stolpec primarnega ključa iz spodnjega izhoda. To pomeni, da indeksov še ni določeno, zato prikazuje samo zapise v 1 vrstici za stolpec primarnega ključa 'id'.

Preverimo indekse za kateri koli stolpec v tabeli 'order1', kjer je vidnost izključena, kot je prikazano spodaj.

>> PRIKAŽI KAZALA PODATKOV.naročilo1 KJE VIDNO = 'NE';

Zdaj bomo v tabeli 'order1' ustvarili nekaj UNIKATNIH indeksov.  Ta UNIKATNI INDEKS smo poimenovali kot 'rec' in ga uporabili v 4 stolpcih: id, Region, Status in OrderNo. Poskusite spodnji ukaz, da to storite.

>> USTVARI ENOTEN INDEKS zapis ON podatkov.order1 (id, Region, Status, OrderNo);

Zdaj pa poglejmo rezultat ustvarjanja indeksov za določeno tabelo. Rezultat je podan spodaj po uporabi ukaza SHOW INDEXES. Imamo seznam vseh ustvarjenih indeksov z enakimi imeni 'rec' za vsak stolpec.

>> PRIKAŽI KAZALA PODATKOV order1 IN;

Primer 02
Predpostavimo novo tabelo "študent" v zbirki podatkov "s podatki" s polji s štirimi stolpci, ki imajo nekaj zapisov. Pridobite podatke iz te tabele z uporabo poizvedbe SELECT, kot sledi:

>> IZBERI * IZ podatkov.študent;

Najprej pridobimo indekse stolpcev primarnega ključa, tako da preizkusimo spodnji ukaz SHOW INDEXES.

>> PRIKAŽI KAZALA PODATKOV.študent WHERE Key_name = 'PRIMARY';

Vidite, da bo izpisal indeksni zapis za edini stolpec tipa "PRIMARY" zaradi stavka WHERE, uporabljenega v poizvedbi.

Ustvarimo en unikatni in en neponovljiv indeks v različnih stolpcih študentov tabele. Najprej bomo ustvarili UNIKATEN indeks 'std' v stolpcu 'Ime' tabele 'študent' z uporabo ukaza CREATE INDEX v odjemalski lupini ukazne vrstice, kot je prikazano spodaj.

>> USTVARI ENOTEN INDEKS std ON podatkov.študentsko ime );

Ustvarimo ali dodajte neenoten indeks v stolpec 'Zadeva' tabele 'študent', medtem ko uporabljamo ukaz ALTER. Da, uporabili smo ukaz ALTER, ker se uporablja za spreminjanje tabele. Tabelo smo torej spreminjali z dodajanjem indeksov v stolpce. Poskusimo torej s spodnjo poizvedbo ALTER TABLE v lupini ukazne vrstice v stolpec „Zadeva“ dodamo indeks „stdSub“.

>> PODATKI ALTER TABLE.študent DODAJ KAZALO stdSub (Zadeva);

Zdaj je na vrsti preverjanje novo dodanih indeksov v tabeli 'študent' in njenih stolpcih 'Ime' in 'Zadeva'. Preizkusite spodnji ukaz.

>> PRIKAŽI KAZALA PODATKOV.študent;

Iz izhoda lahko vidite, da so poizvedbe stolpcu "Predmet" dodelile neenotni indeks, stolpcu "Ime" pa enolični indeks. Ogledate si lahko tudi imena indeksov.

Poskusimo z ukazom DROP INDEX, da spustimo indeks 'stdSub' iz tabele 'študent'.

>> DROP INDEX stdSub ON podatki.študent;

Oglejte si preostale indekse z uporabo istih navodil SHOW INDEX kot spodaj. Zdaj sta nam ostala le še dva indeksa v tabeli 'študent', kot je prikazano spodaj.

>> PRIKAŽI KAZALA PODATKOV.študent;

Zaključek

Na koncu smo naredili vse potrebne primere o tem, kako ustvariti edinstvene in neenotne indekse, prikazati ali preveriti indekse in spustiti indekse za določeno tabelo.

Najboljše aplikacije za preslikavo gamepadov za Linux
Če želite igre na Linuxu igrati z igralno ploščico namesto s tipičnim sistemom za vnos tipkovnice in miške, je za vas na voljo nekaj uporabnih aplikac...
Uporabna orodja za igralce Linux
Če radi igrate igre na Linuxu, obstaja verjetnost, da ste za izboljšanje igralne izkušnje uporabljali aplikacije in pripomočke, kot so Wine, Lutris in...
HD Remastered Games za Linux, ki prej še niso izdale Linuxa
Mnogi razvijalci iger in založniki pripravijo HD remaster starih iger, da podaljšajo življenjsko dobo franšize, zato oboževalci zahtevajo združljivost...