当前位置: 首页 > news >正文

(补)B+树一些思想

目录

B+树索引结构的补充 

Hash索引结构

 Hash索引

 思考B+树的高度

1.效率问题 

 2.B+树的高度


 

B+树索引结构的补充 

 开门见山,我们所有的数据全部在叶子节点上,我们非叶子节点的作用起到索引的作用,类似于目录根据拼音查具体字,而不是全表扫描,关注那个范围内的就好,而且在内存中比较范围速度是很快的,所以说B+树查询速度贼快

所有的元素都会在叶子节点上——>形成一个单向链表

Hash索引结构

将我们的键计算hash,判断落在我们hash表上哪个Entry上,当然会出现哈希冲突——>利用我们的一个链表来解决我们的哈希冲突,像我们自定义的hash算法h^h>>>16也缓解了我们的哈希冲突

 Hash索引

只支持等值匹配不支持范围查询,并且不能进行排序操作

但是查询效率高,如果没有哈希碰撞一次查询即可

 思考B+树的高度

1.效率问题 

1.根据主键查询效率要高一些,一次查询即可,直接查主键一级索引树 

2.而根据name查询的话需要回表,查询到id的值之后,再去主键树去查对应数据

 2.B+树的高度

 首先分析一个数据页里面可以有多少个指针和多少个key,我们索引一般是6bit,主键的话假如是bigint,8bit,然后我们的键和指针的关系是n-n+1的关系(图上很明显),然后我们一个数据页是16kb,1kb=1024bit,所以说——>n*8+(n-1)*6=16*1024

 第二层:可以得到每数据页的指针数是1171个指针,1170个key,然后我们一个节点相当于一个数据页嘛,一个数据页有16行,所以大小为:1171*16=18736

第三层:高度为3:1171*1171*16=2kw——>因为我们每个节点下面可以有1171个子节点,所以三层是1171*1171,一个节点一个数据页又有16行

 

相关文章:

  • 【目标检测】数据增强:DOTA数据集
  • 【JAVA刷题初阶】刷爆力扣第六弹——数组
  • 微服务项目:尚融宝(57)(核心业务流程:投资列表展示(2))
  • 【Vue】如何使用vuex解决兄弟组件传值?
  • CDH 08Cloudera Manager freeIPAKerberos安装配置(markdown新版)
  • 给你一个购物车模块,你会如何设计测试用例?【测试用例设计】
  • steam搬砖汇率差项目详解
  • NodeJS 环境准备
  • RestFul风格
  • git提交代码版本冲突问题
  • 交换机与路由技术-29-OSPF虚链路
  • Centos6普通用户获取最高权限方法
  • 极致CMS1.7 另一处前台SQL注入
  • 基于javaweb,ssm鲜花销售系统
  • 数据结构与算法:大小根堆和快速排序 解决TopK问题
  • ECS应用管理最佳实践
  • exif信息对照
  • Java教程_软件开发基础
  • mysql innodb 索引使用指南
  • mysql_config not found
  • Promise初体验
  • Protobuf3语言指南
  • Quartz实现数据同步 | 从0开始构建SpringCloud微服务(3)
  • SQLServer之创建显式事务
  • use Google search engine
  • WePY 在小程序性能调优上做出的探究
  • 测试如何在敏捷团队中工作?
  • 力扣(LeetCode)21
  • 强力优化Rancher k8s中国区的使用体验
  • 如何胜任知名企业的商业数据分析师?
  • 如何用Ubuntu和Xen来设置Kubernetes?
  • 微信小程序开发问题汇总
  • 项目实战-Api的解决方案
  • 智能合约Solidity教程-事件和日志(一)
  • 智能合约开发环境搭建及Hello World合约
  • 曾刷新两项世界纪录,腾讯优图人脸检测算法 DSFD 正式开源 ...
  • ​MySQL主从复制一致性检测
  • # Java NIO(一)FileChannel
  • # Panda3d 碰撞检测系统介绍
  • #HarmonyOS:软件安装window和mac预览Hello World
  • #每天一道面试题# 什么是MySQL的回表查询
  • (+4)2.2UML建模图
  • (pojstep1.3.1)1017(构造法模拟)
  • (windows2012共享文件夹和防火墙设置
  • (第61天)多租户架构(CDB/PDB)
  • (附源码)springboot炼糖厂地磅全自动控制系统 毕业设计 341357
  • (蓝桥杯每日一题)平方末尾及补充(常用的字符串函数功能)
  • (十)【Jmeter】线程(Threads(Users))之jp@gc - Stepping Thread Group (deprecated)
  • (学习日记)2024.03.25:UCOSIII第二十二节:系统启动流程详解
  • (转)甲方乙方——赵民谈找工作
  • ***利用Ms05002溢出找“肉鸡
  • .java 9 找不到符号_java找不到符号
  • .jks文件(JAVA KeyStore)
  • .NET 5种线程安全集合
  • .NET Core SkiaSharp 替代 System.Drawing.Common 的一些用法