sql >> Databáze >  >> RDS >> Mysql

MySQL zobrazuje indexy v databázi

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!

  1. Jaký je rozdíl mezi zadním zaškrtnutím a hranatou závorkou v příkazech SQL?

  2. Filtrování dat pomocí sady řádků JDBC

  3. 3 způsoby, jak najít řádky, které obsahují velká písmena v MySQL

  4. Spuštění ProxySQL jako pomocného kontejneru na Kubernetes