您的位置:宽带测速网 > mysql教程 > MySQL innodb怎么选择一个聚簇索引

MySQL innodb怎么选择一个聚簇索引

2025-06-24 08:10来源:互联网 [ ]

对于innodb,主键毫无疑问是一个聚簇索引。但是当一个表没有主键,或者没有一个索引,innodb会如何处理呢。请看如下规则:

如果一个主键被定义了,那么这个主键就是作为聚簇索引

如果没有主键被定义,那么该表的第一个唯一非空索引被作为聚簇索引

如果没有主键也没有合适的唯一索引,那么innodb内部会生成一个隐藏的主键作为聚簇索引,这个隐藏的主键是一个6个字节的列,该列的值会随着数据的插入自增。

注意的地方:

二级索引的叶子节点并不存储行数据的物理地址。而是存储的该行的主键值。

所以:二级索引包含了两次查找。一次是查找次级索引自身。然后查找主键(聚簇索引)