MySQL non-clustered index && level two index && secondary index
Each table in MySQL has a clustered index (clustered index), except that each nonclustered index on the table is a level two index, also known as a secondary index (secondary indexes).
For InnoDB, each InnoDB table has a special index called a clustered index. If you have a primary key defined on your table, the primary key index is a clustered index. If you do not define a primary key for your table, MySQL takes the first unique index (unique) and contains only non-empty columns (not NULL) as the primary key, and InnoDB uses it as a clustered index. Without such a column, InnoDB itself produces an ID value that has six bytes and is hidden as the clustered index.
Clustered index: http://my.oschina.net/xinxingegeya/blog/474895
The following are either two-level indexes, or secondary indexes, except the primary key.
> show create table article*** 1. row ********************* table: articleCreate Table: CREATE TABLE ' article ' ( ' id ' int (11) NOT NULL AUTO_INCREMENT, ' title ' varchar (255) NOT NULL, ' ShortName ' varchar (255) NOT NULL, ' Authorid ' int (one) NOT NULL, ' createtime ' datetime NOT NULL, ' state ' int (one) NOT NULL, ' Totalview ' int (one) DEFAULT NULL, PRIMARY KEY (' id '), unique key ' Idx_short_name_title ' (' title ', ' ShortName '), key ' idx_author_id ' (' Authorid ') ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=latin11 rows In set
=======end=======
MySQL non-clustered index && level two index && secondary index