帮忙么网 > MySQL > 当前页面

聚簇索引与非聚簇索引的区别

2024-12-25 NEW个对象

聚簇索引:将数据存储与索引放到了一块,索引结构的叶子节点保存了行数据。

非聚簇索引:将数据与索引分开存储,索引结构的叶子节点指向了数据对应的位置。


非聚簇索引:


在非聚簇索引的叶子节点上存储的并不是真正的行数据,而是主键 ID,所以当我们使用非聚簇索引进行查询时,首先会得到一个主键 ID,然后再使用主键 ID 去聚簇索引上找到真正的行数据,我们把这个过程称之为回表查询。

除去主键索引,还有其它的索引,每个索引都会建立一个B+树,这些B+树是非聚集索引,非聚集索引,非叶子结点存放索引,叶子结点存放表ID


聚簇索引:


innodb通过主键构建一个B+,该B+树用来存放数据(非叶子结点存放主键,叶子结点存放数据),这是聚簇索引。

相关文章

  • 索引下推

    索引下推的下推其实就是指将部分上层(服务层)负责的事情,交给了下层(引擎层)去处理。

    NEW个对象 2024-12-17

  • 数据库死锁问题排查过程会遇到哪些问题?

    数据库死锁问题排查过程会遇到哪些问题? 1、锁的是那个表 一般会有报警信息,根据报警信息可以获取到sql语句,然后根据sql获取锁的那张表。

    NEW个对象 2024-10-24

  • SQL语句

    表B:id,name,code,detail四个字段均有值;表A id,name,code,detail其中id,name有值并且与表B相对应,code,detail值为null。现在将B表中的code和detail值更新到A表中。

    NEW个对象 2024-12-25

推荐文章