数据库索引 - B树

MySQL中的B+树索引(聚簇索引/聚集索引、辅助索引/二级索引、联合索引/复合索引、覆盖索引、回表)详解 聚集索引/聚簇索引--主键 所有的数据辅助索引/二级索引--索引列—+主键。查看其他列–>回表(聚集索引/聚簇索引联合索引/复合索引--(多个列+主键)->覆盖索引(不是索引) 阅读详情

目录

1. 前言

1.1 B树、B+树出现原因?

1.2 一种新的查找树结构——多路查找树

2. 多路查找树 —— 平衡树—— B树

查询

插入

删除

3、B+树



1. 前言

参考:https://blog.youkuaiyun.com/z_ryan/article/details/79685072

 

二叉查找树的查找时间复杂度为O(log(2,N)),其查找效率已经足够高了,那为什么还有B树和B+树的出现呢?难道它两的时间复杂度比二叉查找树还小吗?

IO操作的效率很低,那么,当在大量数据存储中,查询时我们不能一下子将所有数据加载到内存中,只能逐一加载磁盘页,每个磁盘页对应树的节点。造成大量磁盘IO操作(最坏情况下为树的高度)。平衡二叉树由于树深度过大而造成磁盘IO读写过于频繁,进而导致效率低下。


1.1 B树、B+树出现原因?

原因:平衡二叉树是”瘦高“的,即其树的深度相对比较深,而深度越深,会造成读写数据时候磁盘IO的读写过于频繁,进而效率低下。(逻辑环:树深度深 —— 磁盘IO读写频繁 —— 效率低下)。因此,需要一种新的查找树结构,他应该满足:

降低树的深度(让树变得”矮胖“),从而减少磁盘IO读写的次数,提高效率。

 


1.2 一种新的查找树结构——多路查找树

思路:

1. 每个节点存储多个元素;

2. 采用多叉结构。

根据AVL给我们的启发,一颗平衡多路查找树(B树,Balance Tree)自然可以使得数据的查找效率保证在O(logN)这样的对数级别上。


深入理解数据库索引采用B树和B+树的原因          前面几篇关于数据库底层磁盘文件读取,数据库索引实现细节进行了深入的研究,但是没有串联起来的讲解为什么数据库索引会采用B树和B+树而不是其他的数据结构,例如平衡二叉树、链表等,因此,本文打算从数据库文件存储以及读取说起,讲解数据库索引的由来。      我们以抛出问题的形式开始讲解: (1)数据库文件存储的方式      数据库文件存储都是以磁盘文件存储在系统中的,这也是数据... 阅读详情

相关推荐

探索B树/B+树与MySQL数据库索引的关系

本文主要讲述主轴线: 由搜索/查找联系到数据结构(搜索树,红黑书,B/B+树); 进行B/B+/RBtree的性能分析; 讲述一些关于数据从内存以及磁盘读取数据的数据存储管理的内容; 对数据库引擎MyISAM和InnoDB的分析; 前言:目前大部分数据库系统及文件系统都采用B-Tree或其变种B+Tree作为索引结构,最近学习了数据结构树这一部分的内容,又阅读了前辈们关于这一话题的的总结后,斗胆运用

John的博客 1万+

分布式数据库之:深入浅出B树索引

作者:禅与计算机程序设计艺术 1.简介 概述 随着互联网业务的快速发展、海量数据的产生及流动,传统关系型数据库在高并发情况下仍然存在一些瓶颈。因此,基于分布式计算架构的分布式数据库应运而生。本文将从分布式数据库的基础理论开始,结合实际应用场景,介绍一种新的B树索引结构—

AI天才研究院 4052

深入探讨数据库索引:B树、B+树、B*树与R树

数据库索引是提高数据库查询效率的重要数据结构,它可以帮助系统快速定位到特定数据。理解索引的结构对于数据库性能优化至关重要。在这一章节中,我们会简要介绍索引的基本概念,以及它如何在关系型数据库中发挥作用。索引可以基于不同的数据结构,比如B树、B+树、B*树和R树等。这些结构针对不同的查询类型和数据操作进行了优化,例如,B树和B+树擅长处理范围查询,而R树则在多维空间数据索引方面表现出色。B树(B-Tree)是一种平衡多路查找树。

weixin_35756624的博客 1226

c语言国际象棋(easyx图形库)

c语言实现的国际象棋,先放源码,有空再更 所有图形资源均来源于网络,侵删 #include <graphics.h> #include<stdio.h> #include<conio.h> #include<math.h> #include<stdlib.h> #include <time.h> #define HEIGHT 800 #define WIDTH 1100 #define SIZE 100 #define true.

Betelgeuse13的博客 1914

向量化和向量数据库的开发步骤,以及本地docker下载Redis-stack-server,以及如何将文本转成向量,以及文本向量化成功后将数据存入到Redis-stack-server这个向量数据库

内存可以作为向量数据库,但是一重启一断电数据就没了这了选择RedisStack作为向量数据,用来向量的存储,未来会改名成Redis8,也就是在原本的Reids的功能上增加了新的特性,本质上还是Redis向量数据库还可以用ElaticSearch、MongoDB等。

qq_61723836的博客 1083

深度学习PyTorch代码模板——模型训练框架、数据处理、绘图…

个人用深度学习代码模板:模型训练框架、数据处理、绘图等。待补充。

https://www.hyperplasma.top 1908

SAP数据导入避坑指南:财务期初上线实操全流程(含常见错误排查)

本文详细解析了SAP财务期初数据导入的全流程,包括数据准备、主数据标准化、余额与未清项导入等关键步骤,并提供了常见错误排查和解决方案。特别强调了过渡科目和存货价值的处理技巧,帮助企业在SAP系统上线时避免数据导入陷阱,确保财务数据的准确性和系统平稳运行。

weixin_30832143的博客 396

BFD+OSPF+FRR:构建高可用网络的核心铁三角

摘要:VRRP、OSPF、BFD和FRR协同实现网络高可用。VRRP负责网关冗余,OSPF确保路由可达,BFD提供毫秒级故障检测,FRR实现快速路径切换。故障时,BFD立即检测并通知OSPF,FRR在OSPF收敛前切换流量,VRRP完成网关切换(如需)。BFD采用异步模式动态建立,效率最高。该机制确保业务流量无缝切换,提升网络可靠性。

A516988的博客 754

Xilinx PCIe IP核示例工程仿真流程与关键任务解析

本文详细解析了Xilinx PCIe IP核示例工程的仿真流程与关键任务。通过搭建仿真环境、解读初始化日志,并深入剖析TSK_TX_MEMORY_WRITE_32等核心任务的TLP报文生成与交互过程,帮助开发者掌握PCIe IP核的仿真调试方法,为实际硬件设计提供可靠的验证基础。

weixin_28314575的博客 508

SAP 固定资产采购简介

SAP 固定资产采购是指企业通过采购流程获取长期使用并记录为固定资产的物品。固定资产是企业为长期使用而购置的资产,如机器设备、办公设备、建筑物、车辆等,通常这些资产的使用期限较长,并且在资产负债表上记录。在SAP系统中,固定资产采购流程通常与物料管理(MM)模块和固定资产管理(FI-AA)模块相结合。这个过程涉及从需求的提出、采购订单的创建,到货物接收、发票校验和资产激活的多个步骤。

我小时候很黑的博客 1731

VHDL语法学习笔记:一文掌握VHDL语法

今天给大侠带来FPGA 之 VHDL 语法学习笔记,话不多说,上货。 VHDL语法学习笔记 一、VHDL简介 1.1 VHDL 的历史 VHDL 的 英 文 全 名 是 Very-High-Speed Integrated Circuit Hardware DescriptionLanguage,诞生于 1982 年。 1987 年底,VHDL 被 IEEE 和美国国防部确认为标准硬件描述语言。自 IEEE 公布了 VHDL 的标准版本 IEEE-1076(简称 87 版)...

2万+

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

上一篇: Redis面试 - 1
下一篇: 数据库索引 - B+树
Longtermevolution
博客等级 码龄9年 113粉丝 249原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值