How Can You See All Indexes Defined for a Table

To see the index for a specific table use SHOW INDEX: SHOW INDEX FROM yourtable; To see indexes for all tables within a specific schema you can use the STATISTICS table from INFORMATION_SCHEMA: SELECT DISTINCT TABLE_NAME, INDEX_NAME FROM INFORMATION_SCHEMA.

How do I find all indexes on a table?

  1. Determine all indexes on table: SELECT index_name FROM user_indexes WHERE table_name = :table.
  2. Determine columns indexes and columns on index: SELECT index_name , column_position , column_name FROM user_ind_columns WHERE table_name = :table ORDER BY index_name, column_order.

How can you tell if an index is created on a table?

  1. Code Should be Rerunnable – So You Need to Check if Indexes Exist.
  2. Our Example Index: ix_halp.
  3. Option 1: Query sys.indexes with the OBJECT_ID() Function.
  4. Option 2: Query sys.indexes, sys.objects, and sys.schemas (Fewer Locks)
  5. Don’t Try This: OBJECT_ID() Doesn’t Work.
Marcus Vance

Marcus Vance

Cybersecurity & Digital Privacy Researcher

Marcus Vance is a cybersecurity auditor and technology writer dedicated to educating the public about online safety, data privacy regulations, enterprise security, and emerging cyber threats.

Share this article
Twitter Facebook Pinterest