mysql学习总结(一)

news2024/11/18 17:44:59

总结一下近期学习的mysql内容:

这里主要总结一下mysql的底层数据结构

  1. 索引的本质是什么?

索引的本质就是排好序的一种数据结构,通过索引我们能干什么呢?,快速的去定位到我们想要查找的数据,就像是你看书,插入一些书签,可以快速的帮你定位到你想要查找的内容,但是随之而来的问题是,你需要频繁的添加书签,索引也是一样的道理,在方便查找的同时,也会带来性能的消耗(维护索引)

  1. 索引的数据结构是什么

  • 二叉树

  • 红黑树

  • Hash表

  • BTree

  • B+Tree

  1. B+树特点

  • 非叶子节点不存储数据,只会存储对应的索引(压缩空间,可以使树存储更多的内容)

  • 叶子节点存储所有的数据

  • 叶子结点用指针连接,其实就是双链表格式,方便范围查询

  1. Hash

  • 对索引的key进行hash运算,定位出数据存储的位置

  • 一般来说比B树,B+树效率更高(hash运算速度比树的查找快)

  • 仅能满足满足“=”和in的运算,不支持范围查询

  • 另外就是hash冲突问题,可能导致数组长度很长

  1. MYISAM索引和数据文件是分离开的(非聚集)

  1. Innodb的索引实现方式

  • 表数据和索引数据都由B+树组织形成一个文件

  • 索引+叶子节点构成完整的数据记录结构

  • 为什么建议InnoDB表必须建主键,并且推荐使用整型的自增主键?

innodb存储引擎需要一个主键来组织整张表,这个主键必须是具有唯一不可重复性

才能对比和区别数据(比如树的分裂,节点插入需要一个辨识的点),如果没有,mysql会自动安排ROW_ID作为主键

为啥要自增主键呢,其实是为了避免页分裂,另外一点,自增的主键相邻的数据就在旁边,也方便磁盘扫描

  • 为什么非主键索引结构叶子节点存储的是主键值?

一致性和节省存储空间

  1. 联合主键长啥样呢

比较第一个键,如果第一个键相同,那就接着比较后面的键

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/148183.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Ansible 介绍与实战操作演示

文章目录一、概述二、Ansible 架构三、Ansible 工作原理四、Ansible 安装与基础配置1)开启记录日志2)去掉第一次连接ssh ask确认五、Ansible 的七个命令1)ansible2)ansible-doc3)ansible-playbook4)ansible…

非线性系统辨识:非线性 ARX 和 Hammerstein-Wiener

1. 系统辨识 系统辨识是根据系统的输入输出时间函数来确定描述系统行为的数学模型。现代控制理论中的一个分支。通过辨识建立数学模型的目的是估计表征系统行为的重要参数,建立一个能模仿真实系统行为的模型,用当前可测量的系统的输入和输出预测系统输出…

Js逆向教程25-BOM DOM过检测

作者:虚坏叔叔 博客:https://xuhss.com 早餐店不会开到晚上,想吃的人早就来了!😄 Js逆向教程25-BOM DOM过检测 一、JS BOM 检测 它是一种浏览器环境,脱离了浏览器在外部不能直接调用的就是BOM 在浏览器中…

SAP工作流对象类

目录 1. 实现IF_WORKFLOW接口 2. 创建流程属性 3. 接口方法参考 4. 定义事件 5. 工作流触发(事件抛出) 业务对象作为工作流的数据内核,也是联系业务流程和工作流的重要核心,体现形式一般为BOR或者业务对象类,用来标识不…

SpringCloud从入门到精通(六)

Hystrix-熔断器 Hystrix-概述 • Hystix 是Netflix 开源的一个延迟和容错库,用于隔离访问远程服务、第三方库,防止出现级联失败(雪崩)。• 雪崩:一个服务失败,导致整条链路的服务都失败的情形 Hystix 主要功…

【Neo4j构建知识图谱】:cypher操作语言加载 CSV电影人数据集链接文件

这目录 数据链接来源1、创建约束2、从 CSV 文件添加节点3、从 CSV 文件添加关系4、运行cypher查询5、清理数据库参考CSV 文件可以使用LOAD CSV密码条款。出于安全原因,无法加载本地CSV文件,这些文件必须在HTTP或HTTPS服务器(如GitHub,Google Drive和Dropbox)上公开访问。使…

Python 中将列表中的每个元素除以一个数字

Python 中将列表中的每个元素除以一个数字: 使用列表理解来遍历列表。在每次迭代中,将当前列表元素除以数字。新列表将包含除法结果。 my_list [8, 12, 20]# ✅ divide each element in list by number new_list [item / 2 for item in my_list] pri…

雪花算法笔记

SnowFlake 雪花算法 SnowFlake 中文意思为雪花,故称为雪花算法。最早是 Twitter 公司在其内部用于分布式环境下生成唯一 ID。在2014年开源 scala 语言版本。 实现原理 雪花算法原理就是生成一个的64位比特位的 long 类型的唯一 id。 最高1位固定值0,因…

React Context 完美替代品 Jotai

1. 前言 React 的属性透传场景 虽然有很多方式可以实现,但能做到代码写的少、re-render 轻松处理的方式并不多。 而状态管理工具 Jotai 却可以很好的解决这些问题。 最近的业务和组件场景里 也在用此方式实现。 2. React Context 的不足 常规解决数据透传通常使…

BUUCTF 之 [ACTF2020 新生赛]Exec(命令执行漏洞)

BUUCTF 之 [ACTF2020 新生赛]Exec(命令执行漏洞)相关观察进攻相关 项目内容难度简单类型WEB靶场BUUCTF坐标Exec观察 这界面和这网页标题结合起来,相信给位都能猜到这个靶场中很有可能存在命令执行漏洞。 进攻 构造如下语句显示当前路径中的…

Learning Monocular Visual Odometry via Self-Supervised Long-Term Modeling

Paper name Learning Monocular Visual Odometry via Self-Supervised Long-Term Modeling Paper Reading Note URL: https://arxiv.org/pdf/2007.10983.pdf TL;DR ECCV 2020 文章,该文章认为在短时间序列上训练无法在长时间序列上良好泛华,所以受到…

从Web3视角审视茅台的“元宇宙”APP,这或是中国版的“星巴克奥德赛”

图片来源:由无界 AI 绘画工具生成2023年1月1日,一款名为《巽风数字世界》的APP登录App Store,这是由茅台和网易联合推出的虚拟世界APP。因而,有媒体称,茅台要进军元宇宙了!简单讲,这是一款虚拟世…

Spring核心与设计思想 -- IoC与DI

Spring核心与设计思想 -- IoC与DI一、Spring 是什么?1.1 什么是容器?1.2 什么是 IoC?二、理解 IoC2.1 传统程序开发的问题2.2 分析2.3 控制反转式程序开发2.4 对比总结规律2.5 理解 Spring IoC三、DI 概念说明一、Spring 是什么? …

k8s集群部署springboot项目

一、前言 本篇,我们将基于k8s集群,模拟一个比较接近实际业务的使用场景,使用k8s集群部署一个springboot的项目,我们的需求是: 部署SpringBoot项目到阿里云服务器 ;基于容器打包,推送私有镜像仓库 ;采用K8S集群部署,对外暴露服务,pod副本扩容,公网可以访问 ;二、完…

【案例教程】GEE遥感云大数据在林业中的应用

以Earth Engine(GEE)为代表全球尺度地球科学数据(尤其是卫星遥感数据)在线可视化计算和分析云平台应用越来越广泛。该平台存储和同步遥感领域目前常用的MODIS、Landsat和Sentinel等卫星影像、气候与天气、地球物理等方面的数据集超…

禅道的部署与使用

文章目录1、禅道介绍2、下载安装3、使用3.1、创建项目3.2、添加用户3.3、团队管理3.4、测试人员提Bug3.5、开发人员修复Bug4、总结1、禅道介绍 官网地址:https://www.zentao.net禅道是专业的研发项目管理软件,有如下特点: 细分需求、任务、缺…

一篇五分生信临床模型预测文章代码复现——Figure 4-6 临床模型构建(七)

之前讲过临床模型预测的专栏,但那只是基础版本,下面我们以自噬相关基因为例子,模仿一篇五分文章,将图和代码复现出来,学会本专栏课程,可以具备发一篇五分左右文章的水平: 本专栏目录如下: Figure 1:差异表达基因及预后基因筛选(图片仅供参考) Figure 2. 生存分析,…

Redis简介与使用

Redis简介与使用:数据保存在内存。(mysql数据保存在硬盘)是一个 高性能的key-value数据库NoSQL(非关系数据库)和SQL数据库(关系数据库)比较:适用场景不同:sql数据库适合用于关系特别复杂的数据查…

Java8-

https://blog.51cto.com/u_14014612/5677262 Stream到底是什么呢? 是数据渠道,用于操作数据源(集合、数组等)所生成的元素序列。 “集合讲的是数据,Stream讲的是计算!” 流的构成 当我们使用一个流的时…

贴片SD卡移植FATFS文件系统

一、前言 手头有一块深圳雷龙的 SDIO 接口的贴片 SD 卡,挂载个文件系统把玩一下。首先介绍一下使用的贴片 SD 卡,以前使用的都是拔插式的 SD 卡,下面这个样子: 拿到的贴片雷龙 SD 卡如下图: 二、贴片 SD 卡介绍 雷龙的…