person_info_large表为什么有聚集索引和稀疏索引?
来源:3-8 索引额外的问题之如何调优Sql

chaud123
2019-03-05
explain select count(id) from persion_info_large;
执行上面这句sql后,为什么说person_info_large表有聚集索引和稀疏索引?InnoDB不是只会建立密集索引吗?听不太明白
写回答
1回答
-
翔仔
2019-03-05
同学好,innodb的表的数据组织是按照聚集索引的组织方式组织的,和咱们业务相关的记录都保存在了叶子节点。
如果一个主键被定义了,那么这个主键就是作为聚集索引
如果没有主键被定义,那么该表的第一个唯一非空索引被作为聚集索引
如果没有主键也没有合适的唯一索引,那么innodb内部会生成一个隐藏的主键作为聚集索引,这个隐藏的主键是一个6个字节的列,改列的值会随着数据的插入自增。
但是,表最多只有一个聚集索引,其他索引都是稀疏索引。
122019-05-08
相似问题