- InnoDB 每个Table只能拥有一个且必有一个Clustered Index 聚集索引
- MyISAM 存储引擎不支持聚集索引
- InnoDB可以不定义Primary Key,但一定会有Clustered Index
- 所有非Clustered Index,都可以称为Secondary Indexs 二级索引
MySQL InnoDB 引擎具有强制聚集索引,通常使用主键。也就是主键就是Clustered Index,
如果没有主键按以下规则生成。
- 表有明确的PRIMARY KEY:使用PRIMARY KEY
- 无PRIMARY KEY:InnoDB 默认使用第一个 UNIQUE INDEX,且索引列需要全部定义为非空列(NOT NULL)作为Clustered Index
- 如无PRIMARY KEY,也没有合适的UNIQUE INDEX,InnoDB将会在包含行ROW ID的合成列上生成一个名为GEN_CLUST_INDEX的隐藏Clustered Index