非聚簇索引
创始人
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 引擎的默认隔离级别

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

 

相关内容

热门资讯

透视科技!pokerrrr2开... 透视科技!pokerrrr2开挂教程,wepoker透视挂作弊挂方法(详细辅助2025新版总结)1、...
德普之星辅助器app!werp... 德普之星辅助器app!werplan辅助软件(透视)都是是有挂(黑科技教程)该软件可以轻松地帮助玩家...
透视肯定!智星菠萝可以辅助吗,... 透视肯定!智星菠萝可以辅助吗,hhpoker开辅助软件,新版2025教程(有挂工具)1、点击下载安装...
透视总结!poker透视挂,德... 1、透视总结!poker透视挂,德州辅助app官方最新版本介绍大全(详细辅助科技教程)。2、德州辅助...
wpk脚本辅助器!wepoke... wpk脚本辅助器!wepoker怎么设置房间(透视)切实真的有挂(解密教程)1、玩家可以在wepok...
透视ai代打!wpk脚本是什么... 透视ai代打!wpk脚本是什么,wpk透视表,透明挂教程(有挂解密);1、每一步都需要思考,不同水平...
透视了解!扑克世界辅助软件,w... 透视了解!扑克世界辅助软件,wepoker透视插件(详细辅助透视教程)1、这是跨平台的扑克世界辅助软...
aapoker辅助挂!德州透视... aapoker辅助挂!德州透视hhpoker(透视)切实是真的有挂(AA德州教程);所有人都在同一条...
透视系统!hhpoker免费透... 透视系统!hhpoker免费透视脚本,wpk辅助软件多少钱一个,必备教程(有挂黑科技)1、该软件可以...
透视智能ai!wepoker真... 透视智能ai!wepoker真能买到挂吗,wepokerplus辅助(详细辅助透明教程)1、玩家可以...