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缓存机制

在这里插入图片描述

相关内容

热门资讯

北方华创,巨额商誉压力突然高悬... 文丨詹詹编辑丨百进来源丨新商悟(本文约为 1300字)当国内半导体设备龙头北方华创交出一份“营收创历...
长城华西银行原女掌门已回老东家... 湘财Plus注意到,四川银行入主长城华西银行后,该行核心管理人员调整基本落定,法定代表人已正式变更为...
立案,跌停!这家“童年记忆”,... 沉浮多年,方向何在?最近被立案的上市公司,着实有些多,就在上周末,又有一家上市公司及原董事长被立案调...
加码生态环境监测!生态环境部:... 本文来源:时代周报 作者:李杭4月27日,生态环境部举行4月例行新闻发布会。 生态环境部4月例行新...
东方甄选主播“离职潮”持续发酵... 红星资本局4月27日消息,东方甄选(01797.HK)主播“离职潮”事件仍在发酵。在社交平台上,有部...
SpaceX万亿IPO前夜:马... 从20亿美元收购,到万亿IPO前的最后叙事。2026年4月23日深夜,特斯拉向SEC提交了一份季报文...
前董事长陆宏达“闪电辞职”牵扯... 紧急澄清前董事长性侵指控后,智度股份仍难挡股价大跌。4月27日,智度股份早盘一度重挫逾9%,逼近6....
高盛:一场全球性化工危机正在爆... 霍尔木兹海峡通行受阻,正在引发一场史无前例的全球化工供应冲击。高盛最新报告表示,基础化工品价格近几周...
这笔400亿,谷歌买的不是友谊... 4月25日,Anthropic宣布谷歌将向其投资最高400亿美元——先期注入100亿美元现金,估值3...
粪坑,爬出来了 粪坑,爬出来了... 图:Simon Bailly 读者说:“有人发现吗?2019年蚂蚁的大热基金鹏华快回本了,当年最高回...