¿Cómo ver índices de una base de datos o tabla en MySQL?

Resuelto Blankman asked hace 13 años • 14 respuestas

¿Cómo puedo ver si mi base de datos tiene algún índice?

¿Qué tal para una mesa específica?

Blankman avatar Mar 07 '11 03:03 Blankman
Aceptado

Para ver el índice de una tabla específica, utilice MOSTRAR ÍNDICE:

SHOW INDEX FROM yourtable;

Para ver índices de todas las tablas dentro de un esquema específico, puede utilizar la tabla ESTADÍSTICAS de INFORMACIÓN_SCHEMA:

SELECT DISTINCT
    TABLE_NAME,
    INDEX_NAME
FROM INFORMATION_SCHEMA.STATISTICS
WHERE TABLE_SCHEMA = 'your_schema';

Al eliminar la cláusula Where se mostrarán todos los índices en todos los esquemas.

Mark Byers avatar Mar 06 '2011 20:03 Mark Byers

Si desea ver todos los índices de todas las bases de datos a la vez:

use information_schema;
SELECT * FROM statistics;
RolandoMySQLDBA avatar Mar 06 '2011 21:03 RolandoMySQLDBA
SHOW INDEX FROM mytable FROM mydb;

SHOW INDEX FROM mydb.mytable;

Ver documentación .

LiorK avatar Mar 06 '2011 21:03 LiorK