【你问我答】聚簇索引和非聚簇索引的区别?

问题描述:

聚簇索引和非聚簇索引的区别?

回答有奖:

选取一位认真回答问题的牛友,赠送200牛币!
▶回答尽量有自己的思考,不要单纯的只是复制粘贴定理定义,或者他人blog哦~

你问我答问题汇总:点击进入
关注你问我答栏目:点击关注

你问我答 - 答问题,成大佬,拿牛币!
你问我答是牛客新栏目,每周1期几个面试中真实遇到的问题,
牛友在问题贴下留下自己的知识,经验与见解,
帮助更多牛友了解更多技术相关知识!
#悬赏##Java工程师##面试题目#
全部评论
聚簇索引的意思是逻辑顺序相当于物理顺序,也就是查询键之后能够直接找到对应的值;而非聚簇索引因为在逻辑顺序和物理顺序间增加了一个间接层(例如根据非聚簇索引查询到的主键回表查找),因此效率更慢,但是提供了更多灵活性。
点赞 回复 分享
发布于 2020-09-02 11:06
Innodb中聚簇索引强制以主键构建聚簇索引,在B+树的叶子节点上存储的是一整行的数据,因此根据主键条件查询时,一次索引查询就可以得到对应数据。而非聚簇索引的叶子节点上不存储完整的一整行数据,只存储索引字段与对应主键的值,非主键条件查询时,大多数需要先在非聚簇索引上查到对应的主键,再利用主键进行一次回表查询得到对应数据。
点赞 回复 分享
发布于 2020-09-02 19:38

相关推荐

点赞 评论 收藏
分享
1 1 评论
分享
牛客网
牛客企业服务