请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

person_info_large表为什么有聚集索引和稀疏索引?

explain select count(id) from persion_info_large;
执行上面这句sql后,为什么说person_info_large表有聚集索引和稀疏索引?InnoDB不是只会建立密集索引吗?听不太明白

正在回答 回答被采纳积分+3

1回答

翔仔 2019-03-05 15:56:18

同学好,innodb的表的数据组织是按照聚集索引的组织方式组织的,和咱们业务相关的记录都保存在了叶子节点。

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

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

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

但是,表最多只有一个聚集索引,其他索引都是稀疏索引。

1 回复 有任何疑惑可以回复我~
  • 老师应该是密集索引把
    回复 有任何疑惑可以回复我~ 2019-05-08 15:51:25
  • 翔仔 回复 MComposer #2
    同学好,聚集索引=密集索引哈,都可以的
    回复 有任何疑惑可以回复我~ 2019-05-08 23:38:37
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信