Kako prikazati vse indekse v MySQL ali shemi

How Show All Indexes Mysql



Indeks zbirke podatkov MySQL se nanaša na vrsto podatkovne strukture, ki se uporablja kot organizacija podatkov v zbirki podatkov in pomaga pri pospeševanju hitrosti različnih operacij, izvedenih v MySQL.

Indeksi so v veliko pomoč. Brez njih mora MySQL pregledati celotno tabelo in poiskati ustrezne vrstice in stolpce, kar je lahko zelo neučinkovito v velikih bazah podatkov.







Ta vadnica se bo osredotočila na to, kako si ogledate podatke o indeksu z uporabo klavzule SHOW INDEXES v MySQL.



Pokaži indekse tabel

Za prikaz podatkov o indeksu v tabeli uporabljamo klavzulo SHOW INDEXES, ki ji sledi ime tabele, za katero želimo dobiti informacije o indeksu.



Splošna skladnja je prikazana tako:





POKAŽI INDEKSE tbl_name;

Na primer, razmislite o eni od tabel v vzorčni zbirki podatkov Sakila. Podatke o indeksu lahko dobimo, kot je prikazano v spodnji poizvedbi:

UPORABI sakila;

PRIKAZI KAZALCE IZ filma;

Zgornja poizvedba bo prikazala podatke o indeksu iz filmske tabele v bazi podatkov Sakila. Izhod je:



Razumevanje informacij o indeksu

Ukaz SHOW INDEXES prikaže ustrezne podatke o indeksih v podani tabeli.

Spodaj so navedeni naslednji pogoji in ustrezni podatki:

  1. Tabela: To je prvi stolpec iz izhoda. Prikazuje ime tabele, v kateri je indeks.
  2. Ni edinstven: Drugi stolpec prikazuje, ali lahko indeks vsebuje dvojnik. Vrednost je logična, pri čemer 1 označuje, da lahko indeks vsebuje dvojnike, 0 pa, če ni drugače.
  3. Key_name: Tretji stolpec prikazuje ime indeksa. Po dogovoru primarni ključ prevzame ime indeksa PRIMARY.
  4. Seq_in_index: Četrti stolpec prikazuje zaporedno številko stolpca v indeksu, ki se začne od vrednosti 1.
  5. Ime stolpca: Peti stolpec je preprosto ime stolpca.
  6. Primerjava: Šesti stolpec je razdelek, ki prikazuje, kako se stolpec razvrsti v indeksu. Obstajajo tri vrednosti razvrščanja, pri čemer je A naraščajoči vrstni red, B označuje padajoči vrstni red in NULL kot nerazvrščeno.
  7. Kardinalnost: Sedmi stolpec prikazuje edinstvenost vrednosti podatkov. V indeksih prikazuje ocenjeno število edinstvenih vrednosti v določenem indeksu.
  8. Poddelek: Osmi stolpec prikazuje predpono indeksa z NULL, kar pomeni, da je indeksiran celoten stolpec.
  9. Pakirano: Deveti stolpec prikazuje, kako so indeksni ključi zapakirani, pri čemer NULL označuje, da ključi niso zapakirani.
  10. Nič: Deseti stolpec določa, ali lahko stolpec vsebuje vrednosti NULL. Da, če lahko stolpec vsebuje ničelne vrednosti, in če ni, je prazen.
  11. Index_type: Enajsti stolpec prikazuje metodo indeksa, kot so BTREE, HASH, RTREE in FULLTEXT.
  12. Komentar: Dvanajsti stolpec prikazuje podatke o indeksu, ki v njegovem stolpcu niso opisani.
  13. Index_comment: Trinajsti stolpec prikazuje dodatne informacije o indeksu, podanem z uporabo atributa COMMENT, ko je ustvarjen.
  14. Vidno: Štirinajsti stolpec je indeks, viden optimizatorju poizvedb, z vrednostmi Da in Ne.
  15. Izraz: Petnajsti stolpec prikaže, če indeks uporablja izraz in ne vrednosti predpone stolpca ali stolpca.

NAMIG: Podatki o indeksih iz poizvedbe SHOW INDEXES so podobni podatkom SQLStatistics.

Pokaži indekse shem

Dobite lahko tudi indeksne informacije o shemi. Splošna sintaksa za dosego tega rezultata je naslednja:

SELECT ime_tabele, ime_indeksa IZ INFORMACIJE_SCHEMA.STATISTIKE KJE TABLA_SCHEMA = ime_sheme;

Razmislite o spodnji poizvedbi, ki prikazuje informacije o shemi Sakila:

SELECT ime_tabele, ime_indeksa IZ informacije_sheme.statistike KJE tabela_shema ='sakila';

To bo prikazalo informacije o indeksih v shemi Sakila, kot je prikazano v spodnjem izhodu:

+ --------------- + ----------------------------- +

|TABLA_NAME|INDEX_NAME|

+ --------------- + ----------------------------- +

|igralec|PRIMARNO|

|igralec|idx_actor_last_name|

|naslov|PRIMARNO|

|naslov|idx_fk_city_id|

|naslov|idx_location|

|kategorijo|PRIMARNO|

|mesto|PRIMARNO|

|mesto|idx_fk_country_id|

|država|PRIMARNO|

|stranko|PRIMARNO|

|stranko|idx_fk_store_id|

|stranko|idx_fk_address_id|

|stranko|idx_last_name|

|film|PRIMARNO|

|film|idx_title|

|film|idx_fk_language_id|

|film|idx_fk_original_language_id|

|filmski igralec|PRIMARNO|

|filmski igralec|PRIMARNO|

|filmski igralec|idx_fk_film_id|

|film_kategorija|PRIMARNO|

|film_kategorija|PRIMARNO|

|film_kategorija|fk_film_category_category|

|film_text|PRIMARNO|

|film_text|idx_title_description|

|film_text|idx_title_description|

|inventar|PRIMARNO|

|inventar|idx_fk_film_id|

|inventar|idx_store_id_film_id|

|inventar|idx_store_id_film_id|

|----------------------------- IZHOD TRUNKIRAN ------------------- -------

Podatke iz vseh shem v strežniku lahko dobite tudi s spodnjo poizvedbo:

SELECT ime_tabele, ime_indeksa IZ informacije_sheme.statistike;

OPOMBA : Zgornja poizvedba odlaga veliko informacij. Redko boste morali dobiti indekse iz vseh shem. Vendar je spodaj naveden vzorec:

+ -------------------- + ------------ +

|TABLA_NAME|INDEX_NAME|

+ -------------------- + ------------ +

|innodb_table_stats|PRIMARNO|

|innodb_table_stats|PRIMARNO|

|innodb_index_stats|PRIMARNO|

|innodb_index_stats|PRIMARNO|

|innodb_index_stats|PRIMARNO|

+ -------------------- + ------------ +

Zaključek

V tej vadnici smo razpravljali o tem, kako uporabiti poizvedbo MySQL SHOW INDEXES za pridobivanje informacij o indeksih v tabeli. Preučili smo tudi uporabo information_schema za pridobivanje informacij o indeksih iz ene ali vseh shem v strežniku MySQL.