sql >> Database >  >> RDS >> Mysql

MySQL Toon indexen in database

Vaak moet u mogelijk alle indexen in MySQL weergeven of alle indexen in MySQL weergeven. Hier leest u hoe u indexen in MySQL kunt weergeven met de opdracht SHOW INDEX in MySQL.

MySQL Toon indexen in database

Hier zijn de stappen om indexen in MySQL weer te geven. We zullen de SHOW INDEXES-instructie gebruiken om alle indexen in de database weer te geven.

Hier is de syntaxis voor SHOW INDEXES

SHOW INDEXES FROM table_name;

OF

SHOW INDEXES FROM db_name.table_name;

OF

SHOW INDEXES FROM table_name in db_name;

OF

SHOW KEYS FROM table_name in db_name;

In de bovenstaande query moet u de tabelnaam en databasenaam specificeren waarvoor u indexen wilt weergeven.

Bonus Lezen:MySQL Databases vergelijken

MySQL Toon indexen voor tabel

Hier is een voorbeeld om alle indexen voor tabellen (bijv. voorbeeld) in MySQL weer te geven. Vervang het door je tafelnaam.

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      |         |               |
+--------+------------+------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+

De uitvoer toont veel attributen van elke index, inclusief kardinaliteit, sleutelnaam, kolomnaam, enz.

Bonus Lezen:MySQL Wijzig opgeslagen procedure

MySQL Toon indexen voor alle tabellen in database

Hier is de SQL-query om alle indexen weer te geven in een specifiek MySQL-databaseschema (bijvoorbeeld voorbeeld) dat wordt vermeld in vet

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       |
+---------------+---------------+

Bonus Lezen:MySQL Lijst van alle procedures

MySQL SHOW INDEX Grootte

Indexlengte wordt opgeslagen in de tabel information_schema.tables. Hier is de SQL-query om de indexgrootte in MySQL te tonen voor een specifieke database 'sample'. Vervang het door uw databasenaam.

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        |
| ...            | ...            | ...             | ...           |
+----------------+----------------+-----------------+---------------+

Bonus Lezen:MySQL Reset Root-wachtwoord

Lijst alle indexen van alle databaseschema's

Hier is de SQL-query om indexen van alle tabellen te tonen in een volledig MySQL-databaseschema waartoe u toegang hebt.

SELECT
    DISTINCT TABLE_NAME,
    INDEX_NAME
FROM
    INFORMATION_SCHEMA.STATISTICS;	

Hopelijk kun je nu gemakkelijk indexen weergeven in MySQL.

Ubiq maakt het gemakkelijk om gegevens binnen enkele minuten te visualiseren en in realtime dashboards te controleren. Probeer het vandaag nog!

  1. Hoe ROW_NUMBER() werkt in SQL Server

  2. Kolomtype wijzigen en niet null instellen

  3. Het compileren van een beschrijfbare mongo_fdw-extensie op binair formaat van PostgreSQL-installatie.

  4. Verschillende manieren om het schema en de gegevens van SQL Server-tabellen te vergelijken