Jak zobrazit všechny indexy v MySQL nebo schématu

How Show All Indexes Mysql



Index databáze MySQL označuje typ datové struktury používané jako organizace dat v databázi a pomáhá urychlit rychlost různých operací prováděných v MySQL.

Rejstříky jsou velmi užitečné. Bez nich musí MySQL prohledat celou tabulku, aby našel příslušné řádky a sloupce, což může být ve velkých databázích velmi neefektivní.







Tento tutoriál se zaměří na to, jak zobrazit informace o indexu pomocí klauzule SHOW INDEXES v MySQL.



Zobrazit indexy tabulek

K zobrazení informací o indexu v tabulce používáme klauzuli SHOW INDEXES, za níž následuje název tabulky, pro kterou chceme získat informace o indexu.



Obecná syntaxe je zobrazena jako:





ZOBRAZIT INDEXY tbl_name;

Zvažte například jednu z tabulek ve vzorové databázi Sakila. Informace o indexu můžeme získat podle níže uvedeného dotazu:

POUŽIJTE sakilu;

ZOBRAZIT INDEXY Z filmu;

Výše uvedený dotaz zobrazí informace o indexu z tabulky filmů v databázi Sakila. Výstupem je:



Pochopení informací o indexu

Příkaz ZOBRAZIT INDEXY zobrazí příslušné informace o indexech v uvedené tabulce.

Zde jsou uvedeny následující podmínky a jejich příslušné informace:

  1. Stůl: Toto je první sloupec z výstupu. Ukazuje název tabulky, kde je umístěn index.
  2. Nejedinečné: Druhý sloupec ukazuje, zda index může obsahovat duplikát. Hodnota je logická hodnota, přičemž 1 znamená, že index může obsahovat duplikáty, a 0, pokud je tomu jinak.
  3. Název_klíče: Třetí sloupec zobrazuje název indexu. Podle konvence primární klíč přebírá indexový název PRIMARY.
  4. Sekvence_index: Čtvrtý sloupec zobrazuje pořadové číslo sloupce v indexu počínaje hodnotou 1.
  5. Název_sloupce: Pátý sloupec je jednoduše název sloupce.
  6. Kompletace: Šestý sloupec je část, která ukazuje, jak se sloupec seřadí v indexu. Existují tři hodnoty řazení, přičemž A je Vzestupně, B označuje Sestupně a NULL jako netříděné.
  7. Mohutnost: Sedmý sloupec ukazuje jedinečnost hodnoty dat. V indexech ukazuje odhadovaný počet jedinečných hodnot v konkrétním indexu.
  8. Pod_část: Osmý sloupec zobrazuje předponu indexu s NULL, což znamená, že je indexován celý sloupec.
  9. Zabaleno: Devátý sloupec ukazuje, jak jsou balíky indexů zabaleny, přičemž NULL označuje, že klíče nejsou zabaleny.
  10. Nula: Desátý sloupec určuje, zda sloupec může obsahovat hodnoty NULL. Ano, pokud sloupec může obsahovat hodnoty null, a pokud není, bude prázdný.
  11. Index_typ: Jedenáctý sloupec ukazuje metodu indexu, například BTREE, HASH, RTREE a FULLTEXT.
  12. Komentář: Dvanáctý sloupec zobrazuje informace o indexu, který není popsán v jeho sloupci.
  13. Index_comment: Třináctý sloupec zobrazuje další informace o indexu určeném při vytváření pomocí atributu KOMENTÁŘ.
  14. Viditelné: Čtrnáctý sloupec je index viditelný pro optimalizátor dotazů s hodnotami Ano a Ne.
  15. Výraz: Patnáctý sloupec se zobrazí, pokud index používá výraz a nikoli hodnotu předpony sloupce nebo sloupce.

NÁZNAK: Informace o indexech z dotazu SHOW INDEXES jsou podobné jako u SQLStatistics.

Zobrazit rejstříky schémat

Můžete také získat informace o rejstříku o schématu. Obecná syntaxe pro dosažení tohoto výsledku je následující:

VYBERTE název_tabulky, název_ indexu Z INFORMATION_SCHEMA.STATISTICS KDE TABLE_SCHEMA = název schématu;

Zvažte níže uvedený dotaz, který zobrazuje informace o schématu Sakila:

ZVOLTE název_tabulky, název_ indexu OD INFORMACÍ_schema.statistiky KDE tabulka_schema ='sakila';

Zobrazí se informace o indexech ve schématu Sakila, jak je znázorněno na výstupu níže:

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

|TABLE_NAME|INDEX_NAME|

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

|herec|HLAVNÍ|

|herec|idx_actor_last_name|

|adresa|HLAVNÍ|

|adresa|idx_fk_city_id|

|adresa|idx_location|

|kategorie|HLAVNÍ|

|město|HLAVNÍ|

|město|idx_fk_country_id|

|země|HLAVNÍ|

|zákazník|HLAVNÍ|

|zákazník|idx_fk_store_id|

|zákazník|idx_fk_address_id|

|zákazník|idx_last_name|

|film|HLAVNÍ|

|film|idx_title|

|film|idx_fk_language_id|

|film|idx_fk_original_language_id|

|filmový herec|HLAVNÍ|

|filmový herec|HLAVNÍ|

|filmový herec|idx_fk_film_id|

|kategorie_filmu|HLAVNÍ|

|kategorie_filmu|HLAVNÍ|

|kategorie_filmu|fk_film_category_category|

|film_text|HLAVNÍ|

|film_text|idx_title_description|

|film_text|idx_title_description|

|inventář|HLAVNÍ|

|inventář|idx_fk_film_id|

|inventář|idx_store_id_film_id|

|inventář|idx_store_id_film_id|

|----------------------------- VÝSTUP ZKRACEN ------------------- -------

Můžete také získat informace ze všech schémat na serveru pomocí níže uvedeného dotazu:

VYBERTE název_tabulky, název_indexu FROM information_schema.statistics;

POZNÁMKA : Výše ​​uvedený dotaz ukládá spoustu informací. Zřídka budete potřebovat získat indexy ze všech schémat. Ukázkový výstup je však níže:

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

|TABLE_NAME|INDEX_NAME|

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

|innodb_table_stats|HLAVNÍ|

|innodb_table_stats|HLAVNÍ|

|innodb_index_stats|HLAVNÍ|

|innodb_index_stats|HLAVNÍ|

|innodb_index_stats|HLAVNÍ|

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

Závěr

V tomto kurzu jsme diskutovali o tom, jak pomocí dotazu MySQL SHOW INDEXES získat informace o indexech v tabulce. Také jsme se podívali na použití information_schema k získání informací o indexech z jednoho nebo všech schémat na serveru MySQL.