https://www.cnblogs.com/lice-blog/p/11569443.html
聚集索引决定了数据库的物理存储结构,而主键只是确定表格逻辑组织方式。这两者不可混淆!
对于Innodb,主键毫无疑问是一个聚集索引。但是当一个表没有主键,或者没有一个索引,Innodb会如何处理呢。请看如下规则:
1.如果一个主键被定义了,那么这个主键就是作为聚集索引
2.如果没有主键被定义,那么该表的第一个唯一非空索引被作为聚集索引
3.如果没有主键也没有合适的唯一索引,那么innodb内部会生成一个隐藏的主键作为聚集索引,这个隐藏的主键是一个6个字节的列,改列的值会随着数据的插入自增。
聚集索引, 主键, Innodb, 唯一索引, 隐藏主键
Innodb数据库中,聚集索引决定了物理存储结构,主键则确定逻辑组织方式。若表无主键,Innodb会使用第一个唯一非空索引或生成隐藏主键作为聚集索引。