SHOW {INDEX | INDEXES | KEYS} {FROM | IN}tbl_name
[{FROM | IN}db_name
]
SHOW INDEX
returns table index
information. The format resembles that of the
SQLStatistics
call in ODBC. This statement
requires some privilege for any column in the table.
SHOW INDEX
returns the following
fields:
Table
The name of the table.
Non_unique
0 if the index cannot contain duplicates, 1 if it can.
Key_name
The name of the index.
Seq_in_index
The column sequence number in the index, starting with 1.
Column_name
The column name.
How the column is sorted in the index. In MySQL, this can have values “
A
” (Ascending) orNULL
(Not sorted).An estimate of the number of unique values in the index. This is updated by running
ANALYZE TABLE
or myisamchk -a.Cardinality
is counted based on statistics stored as integers, so the value is not necessarily exact even for small tables. The higher the cardinality, the greater the chance that MySQL uses the index when doing joins.Sub_part
The number of indexed characters if the column is only partly indexed,
NULL
if the entire column is indexed.Packed
Indicates how the key is packed.
NULL
if it is not.Null
Contains
YES
if the column may containNULL
. If not, the column containsNO
.Contains
YES
if the column may containNULL
values and''
if not.Index_type
The index method used (
BTREE
,FULLTEXT
,HASH
,RTREE
).Comment
Various remarks.
Index_comment
Any comment provided for the index with a
COMMENT
attribute when the index was created.
You can use
db_name
.tbl_name
as an alternative to the
syntax. These two
statements are equivalent:
tbl_name
FROM
db_name
SHOW INDEX FROM mytable FROM mydb; SHOW INDEX FROM mydb.mytable;
You can also list a table's indexes with the mysqlshow
-k db_name
tbl_name
command.