SHOW INDEX - MySQL


Overview

SHOW INDEX is a fundamental MySQL command utilized to display detailed information about indices defined on a specific table. It provides valuable insights into index structure, helping users optimize database performance.

Syntax

SHOW INDEX FROM `table_name` [FROM `database_name`]

Required Arguments:

  • table_name: The name of the table for which index information is desired.

Optional Arguments:

  • database_name: The specific database containing the target table. This argument is omitted when working with the default database.

Options/Flags

None

Examples

Example 1: Display Index Information for a Specific Table

SHOW INDEX FROM my_table;

Example 2: Display Index Information for a Table in a Different Database

SHOW INDEX FROM other_db.my_table;

Common Issues

  • Ensure the specified table_name exists and you have appropriate access rights.
  • If no index exists for a table, the command will return an empty result set.

Integration

Combining with EXPLAIN:

To analyze a specific query and understand how indices are being used, combine SHOW INDEX with EXPLAIN:

EXPLAIN SELECT * FROM my_table WHERE id = 10;
SHOW INDEX FROM my_table;
  • CREATE INDEX: Creates a new index on a table.
  • DROP INDEX: Removes an existing index from a table.
  • OPTIMIZE TABLE: Reorganizes a table’s data to improve performance based on index usage.