02 2025 档案
摘要:具体更新一条记录UPDATE t_user SET name='xiaolin'WHERE id= 1;的流程如下 执行器负责具体执行,会调用存储引擎的接口,通过主键索引树搜索获取 id =1这一行记录:。 如果 id=1 这一行所在的数据页本来就在 buffer pool中,就直接返回给执行器更新
阅读全文
posted @ 2025-02-27 13:59
lipu123
摘要:Binlog 的作用及其与 Undo/Redo Log 的区别 在 MySQL 中,Binlog(二进制日志)、Undo Log(撤销日志) 和 Redo Log(重做日志) 是三个不同层级的日志机制,各自承担不同的职责。以下是它们的核心区别及协作关系: 1. Binlog(二进制日志) 定义与作用
阅读全文
posted @ 2025-02-27 12:55
lipu123
摘要:1. 关于 VARCHAR(255) 的存储长度 问题焦点:为什么 VARCHAR(255) 的“最大字节数”是 255 * 4 = 1020,但实际存储 ASCII 字符时仅占用 2 字节? 解释: 字符集影响:utf8mb4 是变长编码,不同字符占用的字节数不同。例如: ASCII 字符(如英文
阅读全文
posted @ 2025-02-27 09:41
lipu123
摘要:在 InnoDB 存储引擎中,一条记录的完整结构不仅包含用户定义的列,还包含多个 系统隐藏字段。这些隐藏字段是 InnoDB 实现事务(ACID)、多版本并发控制(MVCC)和索引机制的核心。以下是逐条解析: 1. 用户定义的列(User Columns) 即表结构中用户明确定义的字段,例如 CRE
阅读全文
posted @ 2025-02-26 18:31
lipu123
摘要:在 InnoDB 存储引擎中,插入操作(INSERT)是否一定会加插入意向锁(Insert Intention Lock) 取决于具体的插入场景和事务隔离级别。以下是详细分析: 1.插入意向锁的作用 设计目标: 提高并发插入效率,允许多个事务在 同一间隙(Gap) 插入 不冲突的记录(如不同主键值)
阅读全文
posted @ 2025-02-26 18:02
lipu123
摘要:插入意向锁(Insert Intention Lock)与间隙锁(Gap Lock)的区别 在 InnoDB 中,插入意向锁和间隙锁都是用于管理索引间隙(Gap)的锁机制,但它们的 设计目的、加锁行为 和 兼容性规则 有显著不同。以下是两者的核心区别: 定义与设计目标 锁类型 定义 设计目标 间隙锁
阅读全文
posted @ 2025-02-26 16:40
lipu123
摘要:在 InnoDB 中,间隙锁(Gap Lock) 和 Next-Key Lock 的兼容性规则不同,核心原因在于它们的 锁类型(S/X) 和 锁定范围 的差异。以下是详细解释: 间隙锁(Gap Lock)的兼容性 锁定对象:仅锁定索引记录之间的间隙(例如 (10, 20)),不锁定任何实际存在的记录
阅读全文
posted @ 2025-02-26 16:07
lipu123
摘要:MySQL InnoDB 引擎的默认隔离级别虽然是「可重复读」,但是它很大程度上避免幻读现象(并不是完全解决了,详见这篇),解决的方案有两种: 针对 快照读(普通 select 语句),是通过 MVCC 方式解决了幻读,因为可重复读隔离级别下,事务执行过程中看到的数据,一直跟这个事务启动时看到的数据
阅读全文
posted @ 2025-02-26 14:54
lipu123
摘要:Next-Key Lock 和间隙锁(Gap Lock)是 InnoDB 中两种不同的锁机制,它们的设计目标和使用场景有所区别,但都与 防止幻读(Phantom Read) 和 保证范围查询的一致性 密切相关。以下是它们的核心区别和具体应用场景: 定义与作用范围 锁类型 定义 锁定范围 示例(索引值
阅读全文
posted @ 2025-02-26 14:47
lipu123
摘要:可重复读隔离级是由 MVCC(多版本并发控制)实现的,实现的方式是开始事务后(执行 begin 语句后),在执行第一个查询语句后,会创建一个 Read View,后续的查询语句利用这个 Read View,通过这个 Read View 就可以在 undo log 版本链找到事务开始时的数据,所以事务
阅读全文
posted @ 2025-02-25 18:51
lipu123
摘要:Next-Key Lock 详解 Next-Key Lock 是 InnoDB 存储引擎在可重复读(RR)隔离级别下实现的一种锁机制,结合了 记录锁(Record Lock) 和 间隙锁(Gap Lock),用于解决幻读问题。以下是其核心机制与作用的详细分析: Next-Key Lock 的定义与组
阅读全文
posted @ 2025-02-25 16:45
lipu123
摘要:ReadView 的定义与作用 ReadView(读视图)是 MVCC(多版本并发控制) 的核心机制,用于 确定事务在快照读时能够看到数据库中的哪些数据版本。它本质上是一个事务在某一时间点对数据库状态的快照,记录了事务启动时系统的活跃事务信息,并通过规则判断数据版本的可见性,从而解决读写冲突并实现事
阅读全文
摘要:题目:巧克力 小丽明天要出去和同学春游。她准备带上总面积恰好为n 的巧克力板(简化起见将巧克力板视为平面图形,忽略它的厚度,只考虑面积)去和同学们一起分享。出于美感的考虑,小丽希望她带上的巧克力板都是边长为整教的正方形,另一方面出于便携性考虑,小丽希望这些巧克力板的周长之和尽可能小。请你帮小丽找出可
阅读全文
posted @ 2025-02-17 10:02
lipu123
摘要:在使用K8S搭建集群服务时,有时候需要用到Helm(一个用于Kubernetes应用管理的工具),下面是在Ubuntu上安装Helm的过程。 1.更新系统软件包列表 sudo apt-get update 2.安装必要的依赖项 sudo apt-get install apt-transport-h
阅读全文
posted @ 2025-02-11 10:42
lipu123
摘要:桥接模式 and NAT模式 桥接模式 在桥接模式下,虚拟机就像是局域网中的一台独立主机,它和宿主机(本机)处于同等地位,相当于通过虚拟网桥连接到物理网络上。因此,虚拟机的 IP 地址需要和宿主机处于同一网段,这样才能和局域网内其他设备正常通信,就如同局域网中其他真实物理设备一样。比如,宿主机 IP
阅读全文
posted @ 2025-02-10 18:20
lipu123
摘要:第一部分:配置桥接模式 让虚拟机的网络适配器支持桥接网络 上方菜单栏——虚拟机——设置——硬件——网络适配器——桥接模式——确定 保证虚拟机可以设置桥接网络 菜单栏——编辑——虚拟网络编辑器——更改设置——选择桥接模式——并输入连接的主机网卡,当然也可以选择自动 如何查看主机网卡? 切换回Windo
阅读全文
posted @ 2025-02-06 14:33
lipu123
摘要:https://blog.csdn.net/weixin_52799373/article/details/139055794
阅读全文
posted @ 2025-02-06 11:03
lipu123
摘要:VMware虚拟机安装ubuntu20.04时,安装界面太小,无法点击下一步解决方案(最简单) 这个时候,你一定很烦恼的是无法拖动界面,使得可以点击“下一步”的按钮 你只需要按住alt+F7即可拖动,亲测有效
阅读全文
posted @ 2025-02-06 10:41
lipu123