Muchas veces puede necesitar listar todos los índices en MySQL o mostrar todos los índices en MySQL. Aquí se explica cómo mostrar índices en MySQL usando el comando MOSTRAR ÍNDICE en MySQL.
MySQL Mostrar índices en la base de datos
Estos son los pasos para mostrar índices en MySQL. Usaremos la declaración SHOW INDEXES para listar todos los índices en la base de datos.
Aquí está la sintaxis para MOSTRAR ÍNDICES
SHOW INDEXES FROM table_name;
O
SHOW INDEXES FROM db_name.table_name;
O
SHOW INDEXES FROM table_name in db_name;
O
SHOW KEYS FROM table_name in db_name;
En la consulta anterior, debe especificar el nombre de la tabla y el nombre de la base de datos para los que desea mostrar índices.
Lectura adicional:Comparar bases de datos MySQL
MySQL Mostrar índices para la tabla
Aquí hay un ejemplo para enumerar todos los índices de la tabla (por ejemplo, muestra) en MySQL. Reemplácelo con el nombre de su tabla.
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 salida muestra muchos atributos de cada índice, incluida la cardinalidad, el nombre de la clave, el nombre de la columna, etc.
Lectura adicional:MySQL Alterar procedimiento almacenado
MySQL Mostrar índices para todas las tablas en la base de datos
Aquí está la consulta SQL para enumerar todos los índices en un esquema de base de datos MySQL específico (por ejemplo, muestra) mencionado en negrita
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 | +---------------+---------------+
Lectura adicional:lista de todos los procedimientos de MySQL
MySQL MOSTRAR ÍNDICE Tamaño
La longitud del índice se almacena en la tabla information_schema.tables. Aquí está la consulta SQL para mostrar el tamaño del índice en MySQL para una "muestra" de base de datos específica. Reemplácelo con el nombre de su base de datos.
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 | | ... | ... | ... | ... | +----------------+----------------+-----------------+---------------+
Lectura adicional:MySQL Restablecer contraseña raíz
Lista de todos los índices de todos los esquemas de base de datos
Aquí está la consulta SQL para mostrar los índices de todas las tablas en un esquema de base de datos MySQL al que tiene acceso.
SELECT DISTINCT TABLE_NAME, INDEX_NAME FROM INFORMATION_SCHEMA.STATISTICS;
Con suerte, ahora puede enumerar índices fácilmente en MySQL.
Ubiq facilita la visualización de datos en minutos y la supervisión en paneles en tiempo real. ¡Pruébalo hoy!