Plusieurs fois, vous devrez peut-être répertorier tous les index dans MySQL ou afficher tous les index dans MySQL. Voici comment afficher les index dans MySQL à l'aide de la commande SHOW INDEX dans MySQL.
MySQL Afficher les index dans la base de données
Voici les étapes pour afficher les index dans MySQL. Nous utiliserons l'instruction SHOW INDEXES pour répertorier tous les index de la base de données.
Voici la syntaxe pour SHOW INDEXES
SHOW INDEXES FROM table_name;
OU
SHOW INDEXES FROM db_name.table_name;
OU
SHOW INDEXES FROM table_name in db_name;
OU
SHOW KEYS FROM table_name in db_name;
Dans la requête ci-dessus, vous devez spécifier le nom de la table et le nom de la base de données pour lesquels vous souhaitez afficher les index.
Lecture bonus :MySQL compare les bases de données
MySQL Afficher les index pour la table
Voici un exemple pour répertorier tous les index de table (par exemple, un exemple) dans MySQL. Remplacez-le par le nom de votre table.
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 | | | +--------+------------+------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
La sortie affiche de nombreux attributs de chaque index, notamment la cardinalité, le nom de la clé, le nom de la colonne, etc.
Lecture bonus :MySQL Alter Stored Procedure
MySQL Afficher les index pour toutes les tables de la base de données
Voici la requête SQL pour répertorier tous les index dans un schéma de base de données MySQL spécifique (par exemple, un exemple) mentionné en gras
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 | +---------------+---------------+
Lecture bonus :Liste de toutes les procédures MySQL
Taille MySQL AFFICHER L'INDEX
La longueur de l'index est stockée dans la table information_schema.tables. Voici la requête SQL pour afficher la taille de l'index dans MySQL pour un "échantillon" de base de données spécifique. Remplacez-le par le nom de votre base de données.
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 | | ... | ... | ... | ... | +----------------+----------------+-----------------+---------------+
Lecture bonus :Réinitialiser le mot de passe root MySQL
Répertorier tous les index de tous les schémas de base de données
Voici la requête SQL pour afficher les index de toutes les tables dans un schéma de base de données MySQL auquel vous avez accès.
SELECT DISTINCT TABLE_NAME, INDEX_NAME FROM INFORMATION_SCHEMA.STATISTICS;
Heureusement, vous pouvez maintenant facilement répertorier les index dans MySQL.
Ubiq facilite la visualisation des données en quelques minutes et la surveillance dans des tableaux de bord en temps réel. Essayez-le aujourd'hui !