Kuinka näyttää kaikki indeksit MySQL: ssä tai skeemassa

How Show All Indexes Mysql



MySQL -tietokantahakemisto viittaa tietorakenteen tyyppiin, jota käytetään tietokannan tietojärjestelmänä ja joka edistää MySQL: ssä suoritettavien eri toimintojen nopeutta.

Indeksit ovat erittäin hyödyllisiä. Ilman niitä MySQL: n on skannattava koko taulukko löytääkseen tarvittavat rivit ja sarakkeet, mikä voi olla erittäin tehotonta suurissa tietokannoissa.







Tämä opetusohjelma keskittyy hakemistotietojen tarkastelemiseen käyttämällä SHOW INDEXES -lauseketta MySQL: ssä.



Näytä taulukon indeksit

Indeksitietojen näyttämiseksi taulukossa käytämme SHOW INDEXES -lauseketta ja sen taulukon nimeä, josta haluamme hakemistotiedot.



Yleinen syntaksi näytetään seuraavasti:





NÄYTÄ INDEKSIT tbl_name;

Tarkastellaan esimerkiksi yhtä Sakila -näytetietokannan taulukoista. Voimme saada hakemistotiedot alla olevan kyselyn mukaisesti:

KÄYTÄ sakila;

NÄYTÄ INDEKSSIT ELOKUVASTA;

Yllä oleva kysely näyttää hakemistotiedot Sakila -tietokannan kalvotaulukosta. Lähtö on:



Indeksitietojen ymmärtäminen

SHOW INDEXES -komento näyttää tarvittavat tiedot määritetyn taulukon indekseistä.

Tässä ovat seuraavat ehdot ja vastaavat tiedot:

  1. Pöytä: Tämä on ensimmäinen sarake tuotoksesta. Se näyttää taulukon nimen, jossa indeksi sijaitsee.
  2. Ei-ainutlaatuinen: Toisessa sarakkeessa näkyy, voiko indeksi sisältää kaksoiskappaleen. Arvo on Boolen arvo, 1 osoittaa, että indeksi voi sisältää kaksoiskappaleita ja 0, jos ei.
  3. Avaimen_nimi: Kolmas sarake näyttää indeksin nimen. Sopimuksen mukaan ensisijainen avain ottaa hakemiston nimen PRIMARY.
  4. Seq_in_index: Neljäs sarake näyttää sarakkeen sarjanumeron indeksissä alkaen arvosta 1.
  5. Sarakkeen_nimi: Viides sarake on yksinkertaisesti sarakkeen nimi.
  6. Lajittelu: Kuudes sarake on osa, joka näyttää, miten sarake lajitellaan hakemistossa. Lajitteluarvoja on kolme: A on nouseva järjestys, B osoittaa laskevaa järjestystä ja NULL on lajittelematon.
  7. Kardinaliteetti: Seitsemäs sarake näyttää data -arvon ainutlaatuisuuden. Indeksissä se näyttää arvioidun yksittäisten arvojen määrän tietyssä indeksissä.
  8. Osa_osa: Kahdeksas sarake näyttää indeksin etuliitteen, jossa on NULL, mikä osoittaa, että koko sarake on indeksoitu.
  9. Pakattu: Yhdeksäs sarake näyttää, kuinka hakemistonäppäimet on pakattu, ja NULL osoittaa, että avaimia ei ole pakattu.
  10. Tyhjä: Kymmenes sarake määrittää, voiko sarake sisältää NULL -arvoja. Kyllä, jos sarake voi sisältää nolla -arvoja, ja tyhjä, jos ei.
  11. Indeksityyppi: Yhdestoista sarake näyttää indeksimenetelmän, kuten BTREE, HASH, RTREE ja FULLTEXT.
  12. Kommentti: Kahdestoista sarake näyttää indeksin tiedot, joita ei ole kuvattu sen sarakkeessa.
  13. Hakemisto_kommentti: Kolmastoista sarake näyttää lisätietoja indeksistä, joka on määritetty käyttämällä COMMENT -määritettä luodessaan.
  14. Näkyvä: Neljästoista sarake on kyselynoptimointityökalulle näkyvä hakemisto, jonka arvot ovat Kyllä ja Ei.
  15. Ilmaisu: Viidestoista sarake näkyy, jos indeksi käyttää lauseketta eikä sarakkeen tai sarakkeen etuliitteen arvoa.

VIHJE: SHOW INDEXES -kyselyn indeksitiedot ovat samanlaisia ​​kuin SQLStatistics.

Näytä mallihakemistot

Voit myös saada mallin hakemistotietoja. Yleinen syntaksi tämän tuloksen saavuttamiseksi on seuraava:

VALITSE taulukon_nimi, hakemiston_nimi TIETOJEN_KÄYTÄNTÖSTÄ. STATISTICS WHERE TABLE_SCHEMA = skeeman_nimi;

Harkitse alla olevaa kyselyä, joka näyttää tietoja Sakila -mallista:

SELECT taulukon_nimi, indeksin_nimi FROM information_schema.statistics WHERE table_schema ='sakila';

Tämä näyttää tietoja Sakila -mallin indekseistä alla olevan tuloksen mukaisesti:

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

|TABLE_NAME|INDEX_NAME|

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

|näyttelijä|ENSISIJAINEN|

|näyttelijä|idx_toimija_sukunimi|

|osoite|ENSISIJAINEN|

|osoite|idx_fk_city_id|

|osoite|idx_location|

|kategoria|ENSISIJAINEN|

|kaupunki|ENSISIJAINEN|

|kaupunki|idx_fk_country_id|

|maa|ENSISIJAINEN|

|asiakas|ENSISIJAINEN|

|asiakas|idx_fk_store_id|

|asiakas|idx_fk_address_id|

|asiakas|idx_last_name|

|elokuva|ENSISIJAINEN|

|elokuva|idx_title|

|elokuva|idx_fk_language_id|

|elokuva|idx_fk_original_language_id|

|elokuva_näyttelijä|ENSISIJAINEN|

|elokuva_näyttelijä|ENSISIJAINEN|

|elokuva_näyttelijä|idx_fk_film_id|

|elokuva_luokka|ENSISIJAINEN|

|elokuva_luokka|ENSISIJAINEN|

|elokuva_luokka|fk_film_category_category|

|elokuva_teksti|ENSISIJAINEN|

|elokuva_teksti|idx_title_description|

|elokuva_teksti|idx_title_description|

|inventaario|ENSISIJAINEN|

|inventaario|idx_fk_film_id|

|inventaario|idx_store_id_film_id|

|inventaario|idx_store_id_film_id|

|----------------------------- LÄHTÖ RAJOITETTU ------------------- -------

Voit myös saada tietoja kaikista palvelimen kaavoista käyttämällä alla esitettyä kyselyä:

SELECT taulukon_nimi, indeksin_nimi FROM information_schema.statistics;

HUOMAUTUS : Yllä oleva kysely tyhjentää paljon tietoa. Harvoin sinun on saatava indeksit kaikista kaavoista. Esimerkkituotos on kuitenkin alla:

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

|TABLE_NAME|INDEX_NAME|

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

|innodb_table_stats|ENSISIJAINEN|

|innodb_table_stats|ENSISIJAINEN|

|innodb_index_stats|ENSISIJAINEN|

|innodb_index_stats|ENSISIJAINEN|

|innodb_index_stats|ENSISIJAINEN|

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

Johtopäätös

Tässä opetusohjelmassa keskustelimme siitä, miten MySQL SHOW INDEXES -kyselyn avulla saat tietoja taulukon indekseistä. Tarkastelimme myös informaation_skeeman käyttämistä hakemistotietojen saamiseksi yhdestä tai kaikista MySQL -palvelimen kaavoista.