Muitas vezes você pode precisar listar todos os índices no MySQL ou exibir todos os índices no MySQL. Veja como mostrar índices no MySQL usando o comando SHOW INDEX no MySQL.
MySQL mostra índices no banco de dados
Aqui estão as etapas para mostrar índices no MySQL. Usaremos a instrução SHOW INDEXES para listar todos os índices no banco de dados.
Aqui está a sintaxe para 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;
Na consulta acima, você precisa especificar o nome da tabela e o nome do banco de dados para o qual deseja mostrar os índices.
Bônus de leitura:MySQL Comparar Bancos de Dados
Mostrar índices MySQL para tabela
Aqui está um exemplo para listar todos os índices da tabela (por exemplo, amostra) no MySQL. Substitua-o pelo nome da sua tabela.
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 | | | +--------+------------+------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
A saída exibe muitos atributos de cada índice, incluindo cardinalidade, nome da chave, nome da coluna etc.
Bônus de leitura:MySQL Alter Stored Procedure
MySQL mostra índices para todas as tabelas no banco de dados
Aqui está a consulta SQL para listar todos os índices em um esquema de banco de dados MySQL específico (por exemplo, amostra) mencionado em negrito
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 |
+---------------+---------------+
Bônus de leitura:MySQL lista todos os procedimentos
MySQL SHOW INDEX Size
O comprimento do índice é armazenado na tabela information_schema.tables. Aqui está a consulta SQL para mostrar o tamanho do índice no MySQL para uma 'amostra' específica do banco de dados. Substitua-o pelo nome do banco de dados.
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 |
| ... | ... | ... | ... |
+----------------+----------------+-----------------+---------------+
Bônus de leitura:MySQL Redefinir Senha Root
Lista todos os índices de todos os esquemas de banco de dados
Aqui está a consulta SQL para mostrar os índices de todas as tabelas em um esquema de banco de dados MySQL ao qual você tem acesso.
SELECT
DISTINCT TABLE_NAME,
INDEX_NAME
FROM
INFORMATION_SCHEMA.STATISTICS;
Espero que agora você possa listar índices facilmente no MySQL.
O Ubiq facilita a visualização de dados em minutos e o monitoramento em painéis em tempo real. Experimente hoje!