Mnohokrát možná budete muset vypsat všechny indexy v MySQL nebo zobrazit všechny indexy v MySQL. Zde je návod, jak zobrazit indexy v MySQL pomocí příkazu SHOW INDEX v MySQL.
MySQL zobrazuje indexy v databázi
Zde jsou kroky k zobrazení indexů v MySQL. Pro výpis všech indexů v databázi použijeme příkaz SHOW INDEXES.
Zde je syntaxe pro SHOW INDEXES
SHOW INDEXES FROM table_name;
NEBO
SHOW INDEXES FROM db_name.table_name;
NEBO
SHOW INDEXES FROM table_name in db_name;
NEBO
SHOW KEYS FROM table_name in db_name;
Ve výše uvedeném dotazu musíte zadat název tabulky a název databáze, pro kterou chcete zobrazit indexy.
Bonusové čtení:Porovnání databází MySQL
MySQL zobrazuje indexy pro tabulku
Zde je příklad pro seznam všech indexů pro tabulku (např. ukázka) v MySQL. Nahraďte jej názvem vaší tabulky.
mysql> show indexes from cities in sample; +--------+------------+------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ | Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | +--------+------------+------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ | cities | 0 | PRIMARY | 1 | city_id | A | 0 | NULL | NULL | | BTREE | | | | cities | 1 | country_id | 1 | country_id | A | 0 | NULL | NULL | | BTREE | | | +--------+------------+------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
Výstup zobrazuje mnoho atributů každého indexu včetně mohutnosti, názvu klíče, názvu sloupce atd.
Bonusové čtení:MySQL Alter Stored Procedure
MySQL zobrazuje indexy pro všechny tabulky v databázi
Zde je dotaz SQL pro seznam všech indexů v konkrétním schématu databáze MySQL (např. ukázkovém) uvedeném tučně
mysql> SELECT DISTINCT TABLE_NAME, INDEX_NAME FROM INFORMATION_SCHEMA.STATISTICS WHERE TABLE_SCHEMA = 'sample'; +---------------+---------------+ | TABLE_NAME | INDEX_NAME | +---------------+---------------+ | categories | PRIMARY | | cities | PRIMARY | | cities | country_id | | countries | PRIMARY | | old_orders | u_orders | | orders | PRIMARY | | orders_list | PRIMARY | | recent_orders | order_id | | recent_orders | unique_amount | | x_orders | PRIMARY | +---------------+---------------+
Bonusové čtení:MySQL seznam všech procedur
Velikost ZOBRAZENÍ INDEXU MySQL
Délka indexu je uložena v tabulce information_schema.tables. Zde je dotaz SQL pro zobrazení velikosti indexu v MySQL pro konkrétní databázi „ukázka“. Nahraďte jej názvem vaší databáze.
mysql> SELECT table_name, concat( round( data_length / ( 1024 *1024 ) , 2 ) , 'Mb' ) AS 'data_length_mb', concat( round( index_length / ( 1024 *1024 ) , 2 ) , 'Mb' ) AS 'index_length_mb', concat( round( round( data_length + index_length ) / ( 1024 *1024 ) , 2 ) , 'Mb' ) AS 'total_size_mb' FROM information_schema.tables WHERE table_schema ='sample' ORDER BY data_length desc; +----------------+----------------+-----------------+---------------+ | table_name | data_length_mb | index_length_mb | total_size_mb | +----------------+----------------+-----------------+---------------+ | meeting | 0.02Mb | 0.00Mb | 0.02Mb | | sample_data | 0.02Mb | 0.00Mb | 0.02Mb | | ... | ... | ... | ... | +----------------+----------------+-----------------+---------------+
Bonusové čtení:MySQL Reset root Password
Vypsat všechny indexy všech schémat databáze
Zde je dotaz SQL pro zobrazení indexů všech tabulek v celém schématu databáze MySQL, ke kterému máte přístup.
SELECT DISTINCT TABLE_NAME, INDEX_NAME FROM INFORMATION_SCHEMA.STATISTICS;
Doufejme, že nyní můžete snadno vypsat indexy v MySQL.
Ubiq usnadňuje vizualizaci dat během několika minut a sledování na řídicích panelech v reálném čase. Vyzkoušejte to ještě dnes!