Los índices son muy útiles. Sin ellos, MySQL tiene que escanear toda la tabla para encontrar las filas y columnas relevantes, lo que puede ser muy ineficiente en grandes bases de datos.
Este tutorial se centrará en cómo ver la información del índice utilizando la cláusula Show Indexes en MySQL.
Mostrar índices de tabla
Para mostrar la información del índice en una tabla, utilizamos la cláusula Show Indexes seguida del nombre de la tabla, deseamos obtener la información del índice.
La sintaxis general se muestra como:
Mostrar índices tbl_name;
Por ejemplo, considere una de las tablas en la base de datos de muestras de Sakila. Podemos obtener la información del índice como se muestra en la consulta a continuación:
Usa sakila;
Mostrar índices de la película;
La consulta anterior mostrará información de índice de la tabla de película en la base de datos de Sakila. La salida es:
Comprensión de la información del índice
El comando Show Indexes muestra la información relevante sobre los índices en la tabla especificada.
Estos son los siguientes términos y su información respectiva proporcionada:
PISTA: La información sobre los índices de la consulta de los índices del show es similar a la de SQLSTATISTICS.
Mostrar índices de esquema
También puede obtener información de índice sobre un esquema. La sintaxis general para lograr este resultado es la siguiente:
Seleccione Table_Name, index_name de información_schema.Estadísticas donde table_schema = "schema_name";
Considere la consulta a continuación que muestra información sobre el esquema de Sakila:
Seleccione Table_Name, index_name de información_schema.estadísticas donde table_schema = "sakila";
Esto mostrará información sobre los índices en el esquema de Sakila como se muestra en la siguiente salida:
+---------------+-----------------------------+
| Table_name | Index_name |
+---------------+-----------------------------+
| actor | Primario |
| actor | IDX_ACTOR_LAST_NAME |
| dirección | Primario |
| dirección | IDX_FK_CITY_ID |
| dirección | IDX_Location |
| categoría | Primario |
| ciudad | Primario |
| ciudad | IDX_FK_COUNTRY_ID |
| País | Primario |
| Cliente | Primario |
| Cliente | IDX_FK_STORE_ID |
| Cliente | IDX_FK_ADDRESS_ID |
| Cliente | IDX_LAST_NAME |
| película | Primario |
| película | idx_title |
| película | IDX_FK_Language_ID |
| película | IDX_FK_Original_Language_ID |
| Film_actor | Primario |
| Film_actor | Primario |
| Film_actor | IDX_FK_FILM_ID |
| Film_Category | Primario |
| Film_Category | Primario |
| Film_Category | fk_film_category_category |
| Film_text | Primario |
| Film_text | idx_title_description |
| Film_text | idx_title_description |
| Inventario | Primario |
| Inventario | IDX_FK_FILM_ID |
| Inventario | IDX_STORE_ID_FILM_ID |
| Inventario | IDX_STORE_ID_FILM_ID |
| ----------------------------- Salida truncada--------------------------
También puede obtener información de todos los esquemas en el servidor utilizando la consulta que se muestra a continuación:
Seleccione Table_Name, index_name de información_schema.Estadísticas;
NOTA: La consulta anterior arroja mucha información. Raramente necesitará obtener índices de todos los esquemas. Sin embargo, una salida de muestra está a continuación:
+--------------------+------------+
| Table_name | Index_name |
+--------------------+------------+
| innodb_table_stats | Primario |
| innodb_table_stats | Primario |
| innodb_index_stats | Primario |
| innodb_index_stats | Primario |
| innodb_index_stats | Primario |
+--------------------+------------+
Conclusión
En este tutorial, discutimos cómo usar la consulta de índices MySQL Show para obtener información sobre los índices en una tabla. También analizamos el uso del Information_Schema para obtener información sobre los índices de uno o todos los esquemas en un servidor MySQL.