首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
请你说说聚簇索引和非聚簇索引
[问答题]
请你说说聚簇索引和非聚簇索引
添加笔记
求解答(0)
邀请回答
收藏(86)
分享
纠错
62个回答
添加回答
37
阐禅
它们两个的最大区别就是索引和数据是否存放在一起。 聚簇索引:索引和数据存放在一起,叶子节点保留数据行。 非聚簇索引:索引和数据分开存放,叶子节点存放的是指向数据行的地址。
发表于 2022-05-07 12:56:21
回复(0)
11
大哥们不要卷我
聚簇索引:索引结果和数据一起存放的索引。 优点:聚簇索引的查询速度非常快,因为聚簇索引本身就是一个B+树,数据节点属于有序的,当定位到索引上的时候就相当于找到了数据。 缺点:更新的时候代价大,依赖有序的数据 非聚簇索引:索引结构和数据分开存放的索引。 优点:更新代价比聚簇索引小 缺点:依赖有序的数据,可能会二次回表查找
发表于 2022-06-10 16:19:46
回复(0)
11
十七_
两者主要的区别是数据和索引的分离,聚簇不分离,非聚簇分离
发表于 2022-04-24 15:37:19
回复(0)
9
Chaos1874
聚簇索引和非聚簇索引最大的区别是数据域是否和索引项是否分离。聚簇索引一般采用数据表中的具有唯一性的字段(primary,unique,rowid)作为索引采用b+树结构,在叶子节点存储具体的数据,所以其找到的索引也就找到了具体的数据。而非聚簇索引数据域和索引项是分离的,它的b+树叶子节点存储的是其数据对应的主键值,获取到该主键值后再回表进入聚簇索引中查找具体的数据。一个表中只能有一个聚簇索引,但是可以有多个非聚簇索引。
发表于 2022-06-11 15:34:57
回复(0)
4
万里迢迢
聚簇索引采用数据即索引方式,主要在innodb中,并且一般默认采用主键作为索引。非聚簇索引是除了聚簇索引的其他索引,可以采用非主键作为索引。在innodb中非聚簇索引里存储了主键,可以利用主键采用回表方式在聚簇索引查找数据,在myisam中非聚簇索引可以通过存储的地址直接在磁盘找到数据
发表于 2022-05-04 21:48:52
回复(0)
3
枉做好人
俩者的区别就是索引和数据是否分离。 1.聚簇索引: 索引与数据不分离,在Inndb的B+树中,索引存放在非叶子节点,而数据存放在叶子节点上。 2.非聚簇索引: 索引和数据分离,索引的叶子节点是存放数据行的地址。非聚簇索引也叫辅助索引,他的叶子节点存放的是主键,然后通过主键在聚簇索引中找到对应的数据,这个过程也叫回表。
发表于 2022-08-16 16:30:43
回复(0)
2
满脑子智慧
1.两者的主要区别是数据和索引是否绑定,聚簇索引是绑定的,且叶子节点存的表的所有记录,找到索引即找到了数据,非聚簇索引的数据和索引是分开的,索引树的叶子节点存数据行的地址,即该索引键值指向的主键。2.在InnoDB中,只有一个聚簇索引建在主键上,没有主键就自动生成一个聚簇索引,其他索引查询索引外字段都需要二次查找,即回表,而MyISAM中,所有索引都是非聚簇的。3.索引每页固定16kB,非聚簇索引不包含行记录的所有数据,所以每页可存更多键值,高度比聚簇要小。
发表于 2022-07-18 22:54:47
回复(0)
2
玖语
两者的主要区别是索引和数据是否分离。聚簇索引是将索引和数据存储到一起,找到了索引也就找到了数据。非聚簇索引是将索引和数据存储分离开,索引树的叶子结点存储了数据行的地址。在InnoDB中一个表有且仅有一个聚簇索引。其他都是非聚簇索引,使用非聚簇索引访问索引外的其他字段时要进行二次查找。在MyISAM中都是非聚簇索引,叶子节点存储数据地址,对于主键索引和普通索引在存储上没有区别。
发表于 2022-06-17 21:22:37
回复(0)
1
岑溪123
聚簇索引是指数据和索引存储在一起,索引树的叶子节点存储的是一行记录。非聚簇索引是指数据和索引分开存储的,索引树的叶子节点存储的是一行记录的地址。在InnoDB中一个表有只有一个聚簇索引,无论该表有没有主键,都会建立一个聚簇索引,只不过没有主键的话mysql会隐式的创建一个聚簇索引,非聚簇索引的叶子节点存储的是索引键值(如unique key)以及该索引键值指向的主键。MyIsam中主键和非主键索引都是非聚簇索引,不过MyIsam的非聚簇索引叶子节点存储的都是一行记录的地址。
编辑于 2023-03-29 14:01:26
回复(0)
1
Yzyu
聚簇索引和非聚簇索引的主要区别是数据和索引是否分离,聚簇索引是将数据和索引存储在一起,非聚簇索引将数据和索引分开存放,索引树的叶子节点存放数据行的地址。InnoDB中一个表只有一个聚簇索引,因为数据只有一份,并且该索引建立在主键上,其他的索引都是辅助索引(非聚簇索引),使用辅助索引访问索引外的字段时都需要进行二次查找(聚簇索引的叶子节点存放所有表中的数据,非聚簇索引叶子节点存放索引的键值和键值指向的主键,所以用非聚簇索引要先找到主键,再根据主键去找数据);MyISAM中的所有索引都是非聚簇索引。
发表于 2022-06-27 11:35:29
回复(0)
1
卡农变骤
聚簇索引说的是索引和数据放在同一个数据表中,而非聚簇索引的话,则是另开一张表来存储的,并且它不会存储完整的数据,它只会存储非聚簇索引和对应的聚簇索引,所以通过非聚簇索引查询数据的时候会比聚簇索引多一步回表的操作,因为它需要先去非聚簇索引的数据表中找到对应的数据,然后通过这个数据的聚簇索引到主表中拿到最终的数据,innodb通常会将id作为默认的聚簇索引,并且一张表中有且仅有一个聚簇索引。
发表于 2022-06-11 10:58:52
回复(0)
1
傻Jack
InnoDB才有聚簇索引,聚簇索引索引即数据,索引和数据是在一起的,而非聚簇索引如果是InnoDB,索引里面放着主键要回表。而MyISAM数据和索引分离,也相当于要回表,去找对应的数据
发表于 2022-04-30 20:35:09
回复(0)
0
又菜又爱玩的牛马
聚簇索引整张表有且只有一个,这个索引一般是用于存储主键和表数据的关系的,非聚簇索引是指除此之外的所有索引结构,包括常规索引、唯一索引等,这一类索引主要存储的是索引列和主键的关系。二者的区别主要是在值的存储,聚簇索引存的是整个表的数据,而非聚簇索引存的是主键,当一张表未定义主键是会有一个默认生成的字段充当主键。当通过聚簇索引查询数据时可以直接将数据返回,而通过非聚簇索引查询时可能会回表查询,即先查到主键再通过主键查询数据
发表于 2024-05-13 20:27:39
回复(0)
0
钟情于风TuT
聚簇索引: 索引和数据放在一起,叶子节点存放的数据行和索引值 非聚簇索引:就是将数据与索引分开存储,叶子节点包含索引字段值及指向数据页数据行的主键
编辑于 2024-04-03 16:58:27
回复(0)
0
牛客380258662号
聚簇索引:将索引和数据存储在一起,叶子节点上是数据 非聚簇索引:索引和数据分开,叶子节点存放的是指向数据行的地址
发表于 2024-03-17 11:25:01
回复(0)
0
极客25
聚簇索引:叶子节点是按照索引已经排好序的数据(非索引列和索引列),找到索引也就找到了数据。一般是主键作为聚簇索引,没有主键的情况下,第一个唯一索引做。 非聚簇索引:叶子节点存储的是指向数据行的地址或者主键,非叶子节点是key,需要查询到全部列得回表。 非聚簇索引一般比聚簇索引高度低
发表于 2024-02-22 11:02:17
回复(0)
0
深情的三文鱼在写面经
俩者的区别就是索引和数据是否分离。 1.聚簇索引: 索引与数据不分离,在Inndb的B+树中,索引存放在非叶子节点,而数据存放在叶子节点上。 2.非聚簇索引: 索引和数据分离,索引的叶子节点是存放数据行的地址。非聚簇索引也叫辅助索引,他的叶子节点存放的是主键,然后通过主键在聚簇索引中找到对应的数据,这个过程也叫回表。 作者:枉做好人 链接:https://www.nowcoder.com/exam/interview/72296682/test?paperId=50270043 来源:牛客网
发表于 2023-08-24 09:41:02
回复(0)
0
jdasji
聚集索引和非聚集索引最大的区别是索引和数据是否分离,聚集索引的索引和数据是在一起的,一般以表中唯一的主键作为主键,因此查询数据时查询到索引就可以查询到数据,查找的数据快,缺点是更新时代价较大。非聚集索引的索引和数据是分离的,叶子节点存储的是数据对应的主键值,因此查询数据时要根据主键值进行回表查询,非聚集查询的效率较慢,更新代价较小
发表于 2023-08-14 14:59:57
回复(0)
0
刷题剑士
innodb聚簇索引,索引和数据一起存储,myisam非聚簇索引,索引和数据不放在一起存储
发表于 2023-04-16 15:33:40
回复(0)
0
Pitch_cha
聚簇索引是数据和索引在一起,叶子结点保留数据行。非聚簇索引:索引和数据分开存放,叶子结点存放的是指向数据行的地址。
发表于 2023-04-10 12:59:49
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
数据库
上传者:
real19931
难度:
62条回答
86收藏
2369浏览
热门推荐
相关试题
属于组合逻辑电路是()。
数字电路
评论
(1)
有同事不完成任务,影响力进度,你怎...
业务综合
评论
(1)
如果通过这次面试我们单位录用了你,...
岗位认知
自我认知
评论
(1)
请你说说Java的特点和优点,为什...
Java
评论
(267)
你身边有哪些人还没有使用滴滴,你认...
用户研究
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题