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!