Häufig müssen Sie möglicherweise alle Indizes in MySQL auflisten oder alle Indizes in MySQL anzeigen. So zeigen Sie Indizes in MySQL mit dem Befehl SHOW INDEX in MySQL an.
MySQL-Indizes in Datenbank anzeigen
Hier sind die Schritte zum Anzeigen von Indizes in MySQL. Wir werden die SHOW INDEXES-Anweisung verwenden, um alle Indizes in der Datenbank aufzulisten.
Hier ist die Syntax für SHOW INDEXES
SHOW INDEXES FROM table_name;
ODER
SHOW INDEXES FROM db_name.table_name;
ODER
SHOW INDEXES FROM table_name in db_name;
ODER
SHOW KEYS FROM table_name in db_name;
In der obigen Abfrage müssen Sie den Tabellennamen und den Datenbanknamen angeben, für die Sie Indizes anzeigen möchten.
Bonuslektüre:MySQL-Datenbanken vergleichen
MySQL-Indizes für Tabelle anzeigen
Hier ist ein Beispiel, um alle Indizes für eine Tabelle (z. B. Beispiel) in MySQL aufzulisten. Ersetzen Sie es durch Ihren Tabellennamen.
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 | | | +--------+------------+------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
Die Ausgabe zeigt viele Attribute jedes Index an, darunter Kardinalität, Schlüsselname, Spaltenname usw.
Bonus-Lesetext:MySQL Alter Stored Procedure
MySQL-Indizes für alle Tabellen in der Datenbank anzeigen
Hier ist die SQL-Abfrage, um alle Indizes in einem bestimmten MySQL-Datenbankschema (z. B. Beispiel) aufzulisten, das fett erwähnt wird
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-Lesetext:MySQL listet alle Prozeduren auf
MySQL SHOW INDEX-Größe
Die Indexlänge wird in der Tabelle information_schema.tables gespeichert. Hier ist die SQL-Abfrage, um die Indexgröße in MySQL für eine bestimmte Datenbank „Beispiel“ anzuzeigen. Ersetzen Sie es durch Ihren Datenbanknamen.
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-Leseartikel:MySQL-Root-Passwort zurücksetzen
Alle Indizes aller Datenbankschemata auflisten
Hier ist die SQL-Abfrage, um Indizes aller Tabellen in einem reinen MySQL-Datenbankschema anzuzeigen, auf das Sie Zugriff haben.
SELECT DISTINCT TABLE_NAME, INDEX_NAME FROM INFORMATION_SCHEMA.STATISTICS;
Hoffentlich können Sie nun ganz einfach Indizes in MySQL auflisten.
Ubiq macht es einfach, Daten innerhalb von Minuten zu visualisieren und in Echtzeit-Dashboards zu überwachen. Probieren Sie es noch heute aus!