面试遇到的。
有两个角度:
1、在Innodb中,聚簇索引默认就是主键索引。
如果没有主键,则按照下列规则来建聚簇索引:
• 没有主键时,会用一个唯一且不为空的索引列做为主键,成为此表的聚簇索引。
• 如果没有这样的索引,InnoDB会隐式定义一个主键来作为聚簇索引。
2、二级索引/辅助索引:叶子节点中存储主键值,每次查找数据时,根据索引找到叶子节点中的主键值,根据主键值再到聚簇索引中得到完整的一行记录。
感觉从角度1理解,innodb都是聚簇索引。从角度2理解,innodb不都是聚簇索引。不知道哪里有问题了,求教。
还有一个问题:二级索引、辅助索引、唯一索引、前缀索引都是非聚簇索引?
全部评论
(1) 回帖