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!