聚簇索引与非聚簇索引的区别
聚簇索引:将数据存储与索引放到了一块,索引结构的叶子节点保存了行数据。
非聚簇索引:将数据与索引分开存储,索引结构的叶子节点指向了数据对应的位置。
非聚簇索引:
在非聚簇索引的叶子节点上存储的并不是真正的行数据,而是主键 ID,所以当我们使用非聚簇索引进行查询时,首先会得到一个主键 ID,然后再使用主键 ID 去聚簇索引上找到真正的行数据,我们把这个过程称之为回表查询。
除去主键索引,还有其它的索引,每个索引都会建立一个B+树,这些B+树是非聚集索引,非聚集索引,非叶子结点存放索引,叶子结点存放表ID
聚簇索引:
innodb通过主键构建一个B+树,该B+树用来存放数据(非叶子结点存放主键,叶子结点存放数据),这是聚簇索引。
上一篇:SQL语句
下一篇:索引失效的问题如何排查?
相关文章
-
B树与B+树的区别
B树与B+树的区别
NEW个对象 2024-10-20
-
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
-
binlog存放的内容是什么
Binlog(Binary Log)是MySQL中记录数据库中所有DDl语句DML语句的二进制日志文件,主要用于记录对数据库执行的更改操作(例如INSERT、UPDATE、DELETE等)。
NEW个对象 2024-10-13