13.5.4.15. SHOW INDEX
Syntax
SHOW INDEX FROM tbl_name
[FROM db_name
]
SHOW INDEX
returns table index information.
The format resembles that of the
SQLStatistics
call in ODBC.
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.
-
Collation
How the column is sorted in the index. In MySQL, this can
have values ‘A
’ (Ascending)
or NULL
(Not sorted).
-
Cardinality
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 contain
NULL
. If not, the column contains
NO
.
-
Index_type
The index method used (BTREE
,
FULLTEXT
, HASH
,
RTREE
).
-
Comment
Various remarks.
You can use
db_name
.tbl_name
as an alternative to the
tbl_name
FROM
db_name
syntax. These two
statements are equivalent:
SHOW INDEX FROM mytable FROM mydb;
SHOW INDEX FROM mydb.mytable;
SHOW KEYS
is a synonym for SHOW
INDEX
. You can also list a table's indexes with the
mysqlshow -k db_name
tbl_name
command.