非聚簇索引
创始人
2024-12-27 01:05:15
0
  • B+ 树的非叶子节点不存放实际的记录数据,仅存放索引,因此数据量相同的情况下,相比存储即存索引又存记录的 B 树,B+树的非叶子节点可以存放更多的索引,因此 B+ 树可以比 B 树更「矮胖」,查询底层节点的磁盘 I/O次数会更少。

  • B+ 树有大量的冗余节点(所有非叶子节点都是冗余索引),这些冗余索引让 B+ 树在插入、删除的效率都更高,比如删除根节点的时候,不会像 B 树那样会发生复杂的树的变化;

  • B+ 树叶子节点之间用链表连接了起来,有利于范围查询,而 B 树要实现范围查询,因此只能通过树的遍历来完成范围查询,这会涉及多个节点的磁盘 I/O 操作,范围查询效率不如 B+ 树。

在 MySQL 的 InnoDB 引擎中,每个索引都会对应一颗 B+ 树,而聚簇索引和非聚簇索引最大的区别在于叶子节点存储的数据不同,聚簇索引叶子节点存储的是行数据,因此通过聚簇索引可以直接找到真正的行数据;而非聚簇索引叶子节点存储的是主键id,所以使用非聚簇索引还需要回表查询。

因此聚簇索引和非聚簇索引的区别主要有以下几个:

  • 聚簇索引叶子节点存储的是行数据;而非聚簇索引叶子节点存储的是聚簇索引(通常是主键 ID)。

  • 聚簇索引查询效率更高,而非聚簇索引需要进行回表查询,因此性能不如聚簇索引。

  • 聚簇索引一般为主键索引,而主键一个表中只能有一个,因此聚簇索引一个表中也只能有一个,而非聚簇索引则没有数量上的限制。

隔离级别越高,性能效率就越低 

读未提交,指一个事务还没提交时,它做的变更就能被其他事务看到;

读提交,指一个事务提交之后,它做的变更才能被其他事务看到;

可重复读,指一个事务执行过程中看到的数据,一直跟这个事务启动时看到的数据是一致的,MySQL InnoDB 引擎的默认隔离级别

串行化;会对记录加上读写锁,在多个事务对这条记录进行读写操作时,如果发生了读写冲突的时候,后访问的事务必须等前一个事务执行完成,才能继续执行;

 

相关内容

热门资讯

透视ai“四川熊猫辅助软件”p... 透视ai“四川熊猫辅助软件”pokernow辅助控制(带开挂辅助软件德州论坛)>>您好:软件加136...
教程辅助“决战卡五星辅助修改器... 教程辅助“决战卡五星辅助修改器”有挂详细开挂辅助安装2026教程;打开点击测试直接进入微信(1367...
透视有挂“微信微乐挂有没有”w... 您好:这款微信微乐挂有没有游戏是可以开挂的,确实是有挂的,很多玩家在这款微信微乐挂有没有游戏中打牌都...
教程辅助“佛手大菠萝有挂吗”今... 教程辅助“佛手大菠萝有挂吗”今日头条开挂辅助平台AI教程这是一款可以让一直输的玩家,快速成为一个“必...
普及知识“微乐家乡破解版”哈糖... 普及知识“微乐家乡破解版”哈糖大菠萝有挂吗(带开挂辅助软件详细教程)《详细加薇136704302咨询...
教程辅助“决战卡五星开挂方法”... 教程辅助“决战卡五星开挂方法”有挂技巧开挂辅助脚本辅助教程>>您好:软件加薇136704302中联系...
指导大家“途游辅助”拱趴大菠萝... 指导大家“途游辅助”拱趴大菠萝万能挂(带开挂辅助安装软件教程);无需打开直接搜索加薇13670430...
教程辅助“闲玩暗宝辅助软件”有... 教程辅助“闲玩暗宝辅助软件”有挂分享开挂辅助脚本可靠教程这是一款可以让一直输的玩家,快速成为一个“必...
透视app“蜜瓜大厅辅助免费下... 透视app“蜜瓜大厅辅助免费下载”佛手在线大菠萝技巧(带开挂辅助下载大神讲解);亲,蜜瓜大厅辅助免费...
教程辅助“wepoker透视脚... 教程辅助“wepoker透视脚本免费下载pc”的确有挂开挂辅助工具我来教教你;无需打开直接搜索加薇1...