数据库中的聚簇索引和非聚簇索引

聚簇索引和非聚簇索引的比较

聚簇索引和非聚簇索引最大的区别就在于数据和索引是否分开储存。

聚簇索引:将数据和索引一起储存,索引结构的叶子节点存的是数据行。
非聚簇索引:数据和索引分开储存,索引结构的叶子节点存的是指向数据行的地址。

在InnoDB引擎中,默认的索引是B+树索引,利用主键创建的索引:主键索引也是聚簇索引,在主键索引上创建的索引是辅助索引,也是非聚簇索引,辅助索引的叶子结点储存的是主键。

在MYISAM引擎中,默认的索引是B+树索引,但是主键索引和辅助索引都是非聚簇索引,也就是说索引结构的每个叶子节点存储的都是地址,并且辅助索引也不需要检索主键的索引。
 

好了,这次的文章就到这里,喜欢的同学可以点赞收藏,遇到问题,可以评论,或者留言,我一定会第一时间给到回馈,感谢观看!!

注:本文为本人学习时心得分享,有讲错或者需要改正的地方,请指正,我会虚心接受

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数据库索引可以分为聚簇索引聚簇索引聚簇索引(Clustered Index)是将数据存储在物理上按照索引的顺序排列的一种索引类型。一个表只能有一个聚簇索引,因为它决定了数据在磁盘上的物理存储方式。聚簇索引通常是基于表的主键创建的,或者如果没有定义主键,则会选择一个唯一的列作为聚簇索引聚簇索引的优势在于它能够快速地定位到数据行,因为数据行按照索引顺序存储,所以在某些情况下可以提高查询性能。但是,当插入新记录或更新聚簇索引列时,可能需要重新组织数据,导致性能下降。 聚簇索引(Non-Clustered Index)是另一种常见的索引类型,它与数据的物理存储顺序无关。一个表可以有多个聚簇索引聚簇索引通常是基于主键列创建的,它包含了被索引列的值以及对应的指向数据行的指针。通过聚簇索引可以快速定位到满足查询条件的数据行,然后再通过指针访问对应的数据。相比聚簇索引聚簇索引的插入和更新操作通常更快,但是查询性能可能会稍微降低。 总结起来,聚簇索引决定了数据在磁盘上的物理存储顺序,可以提高某些查询的性能;聚簇索引不影响数据的物理存储顺序,可以提高查询的灵活性。在实际应用,根据具体的需求和查询模式选择合适的索引策略是很重要的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值