MySQL之原理
创始人
2025-05-29 06:39:32
0

文章目录

  • 一、索引和存储引擎(MyISAM和InnoDB)以及B+树的结构
    • 1.1 MyISAM
    • 1.2 InnoDB
    • 1.3 联合索引
    • 1.4 索引的一些特点
  • 事务
  • MySQL执行过程与BufferPool缓存机制

一、索引和存储引擎(MyISAM和InnoDB)以及B+树的结构

1.1 MyISAM

- 是MySQL5.5版本之前默认的存储引擎、速度比Innode更快。只有非聚簇索引
  • B+树:MyISAM
    在这里插入图片描述

1.2 InnoDB

- 是MySQL5.5版本及之后默认的存储引擎,存储数据更加安全,支持自适应哈希(自己决定是hash还是B+)
- 一定有聚簇索引,但是其他索引都是非聚簇索引
  • B+树:InnoDB

在这里插入图片描述
- 因为B+树是有序的,修改和插入数据效率会更高,所以自增索引比较好。

  • hash树:InnoDB
    在这里插入图片描述

1.3 联合索引

在这里插入图片描述

1.4 索引的一些特点

  • 最左前缀法则:查询从索引的最左前列开始并且不跳过索引中的列
  • 不在索引上做任何操作(计算、函数、改变数据类型),会导致索引失败而扫描全表。

事务

  • 事务:一组操作要么全部成功,要么全部失败,目的是为了保证数据最终的一致性。mysql默认情况下,自动提交事务

  • 特性

    • 原子性(Atomicity):当前事务的操作要么同时成功,要么同时失败,是由我们的undo log日志保证。
    • 一致性(Consistency):使用事物的最终目的,由业务代码正确逻辑保证。
    • 隔离性(Isolation):在事物并发执行时,他们内部的操作不能互相干扰。
    • 持久性(Durability):一个事务一旦被提交,在数据库中的改变就是永久的,提交后就不能再回滚。由redo 日志记录的。
  • 隔离性/隔离级别: innodb有四种隔离级别,级别越高事务隔离性越好,但性能越低,而隔离机制是由mysql的各种锁以及MVCC机制来实现

    • read uncommit(读未提交):有脏读问题 : 未提交的更改数据,读的时候会读到。就是脏读问题
    • read commit(读已提交):有不可重复读问题 :只能读取已经提交的数据, 但是一个事务中多次读取同一个数据可能不同,就是不可重复读问题。(高并发的用rc)
    • repeatable read(可重复读):有脏写问题: 读取提交数据,在一个事务中,多次读取同一条数据的时候,都是和第一次读取是一样的,即使数据改变在这个事务中还是不变的。就是脏写问题。原理:MVCC,有一个绑定关系,还有事务的号。见下面**(传统公司经常出报表的)**
    • serializable(串行):解决上面全部问题。 原理:写的时候的时候加上读锁。
  • MVCC(类似于copy on write)
    在这里插入图片描述

  • 脏读如何规避缺点

    • 用乐观锁:乐观锁就是在更新的时候会判断一下在此期间别人有没有去更新这个数据,也就是 不采用数据库自身的锁机制,而是通过 程序来实现 。在程序上,我们可以采用 版本号机制 或者 CAS(时间戳) 机制 实现。 乐观锁适用于多读的应用类型, 这样可以提高吞吐量 。

MySQL执行过程与BufferPool缓存机制

在这里插入图片描述

相关内容

热门资讯

在Spring框架中实现属性配... 如何在不重启应用的前提下,在内存中直接修改配置文件中的属性值? 自定义...
恒生指数早盘跌1.48%,恒生... 5月30日午盘,香港恒生指数下跌1.48%,报23224.40点;恒生科技指数下挫2.55%,报51...
通俗易懂了解Hadoop(更新... 从本书第5、6、7、8章,学习云计算开发相关知识 这是第五章 文章目录Hadoo...
软考-存储系统 存储系统 层次存储结构-分类 1、存储位置 内存&外存 2、存取方式 按内容存取: 相...
福建确定了!2025年继续提高... 继上海、湖北之后,又一省份明确提高养老金,它就是福建。5月28日,福建省政府办公厅发布《福建省提振消...
云南水运现状 数据来源:云南省水路交通“十四五”发展规划: 云南地跨长江、珠江、红河、...
毕业实习FinalShell ... 好久没有写文章了,主要还是技术学习少了,没有什么集中的干货分享给大家。最...
《硬件架构的艺术》读书笔记:C... Chapter 1 亚稳态的世界 一、简介 同步系统中,数据和时钟有固定的因果关系...
Ubuntu 设置 SSH 通... Ubuntu 设置 SSH 通过密钥登录 我们一般使用 VSCode 、MobaXterm、PuT...
WEB安全 PHP基础 WEB安全 PHP基础 PHP简述 PHP(全称:PHP:...
(视觉人机器视觉培训)康耐视3... 1、打开,运行A5000Viewer 2、修改相应参数,确认图像效果,并在Fifo取像工具自定义属...
刚刚,大跳水!发生了什么? 最... 亚太股市集体跳水!今日早盘,亚太市场全线杀跌,昨天大涨的日经指数今早大跌超1.3%,韩国股指亦明显调...
Python数据分析之读取Ex... 曾某年某一天某地 时间如静止的空气 你的不羁 给我惊喜 ——《谁愿放手》陈慧琳 文章目录前言一、P...
嘉应制药信披违规突遭立案,养天... 5月28日晚,广东嘉应制药股份有限公司(以下简称“嘉应制药”)发布公告,公司收到中国证券监督管理委员...
在Win10以及SDK为33的... 文章目录0. 我的操作系统和开发环境1. 相关文件下载:2. import proje...
特朗普面临死局?美国法院出手后... 特朗普的全面关税,被美国法院叫停了。最新消息,美国联邦法院裁定,特朗普在4月2日“解放日”宣布的关税...
C语言函数:判断字符函数,判断... iscntrl:判断是否是控制字符isspace:判断是否是空白字符...这些函数的参数都是一个字符...
医药股午前加速上攻,舒泰神再度... 5月30日,医药股午前加速上攻,舒泰神再度冲击20%涨停,睿智医药封板,科兴制药、华纳药厂、冠昊生物...
国产大飞机强势崛起,有望重塑全... 本文来源:时代周报 作者:迟雨5月28日,中国国产大飞机C919迎来商业运营两周年。截至2025年5...
监管鼓励不良资产转让 上半年消... 在监管机构鼓励不良资产转让的大背景下,今年以来,消费金融行业不良资产转让市场持续升温。截至5月29日...