ITPub博客

首页 > 数据库 > MySQL > MySQL innodb如何选择一个聚簇索引

MySQL innodb如何选择一个聚簇索引

MySQL 作者:chenfeng 时间:2018-10-12 14:12:56 0 删除 编辑

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


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

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

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


注意的地方:

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

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


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/15498/viewspace-2216192/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
交流MySQL,MongoDB和Redis技术。 微信或QQ:410294

注册时间:2015-12-07

  • 博文量
    669
  • 访问量
    1441828