Home
Music
JavaBase
Concurrency
Middleware
Nginx
Zookeeper
MQ
RabbitMQ
RocketMQ
Kafka
DataBase
MYSQL
Redis
JVM
Framework
Spring
Distributed
Others
LLM
About
Life
ProSayJ
Talk is cheap. Show me the code.
累计撰写
72
篇文章
累计创建
24
个标签
累计收到
0
条评论
栏目
Home
Music
JavaBase
Concurrency
Middleware
Nginx
Zookeeper
MQ
RabbitMQ
RocketMQ
Kafka
DataBase
MYSQL
Redis
JVM
Framework
Spring
Distributed
Others
LLM
About
Life
目 录
CONTENT
以下是
YangJian
的文章
2025-06-28
29-SQL标准中的4个事务隔离级别
通过 前一章 [ 28-MySQL 多事务并发执行的数据一致性问题 ] 的讨论,可能会遇到的几种问题,包括脏写、脏读、不可重复读和幻读。这些问题的根本原因是由于多个事务之间的数据竞争,导致事务间没
2025-06-28
14
0
0
MySQL
2025-06-28
28-MySQL 多事务并发执行的数据一致性问题
1. MySQL 运行多事务并发执行的场景 MySQL多线程并发控制: 事务隔离级别、MVCC(多版本并发控制)、锁机制 在我们执行增删改操作时,通常就是将数据页从磁盘加载到 buffer pool 缓存页中,在缓存页进行更新,同时记录 redo log(重做日志)和 undo log(回滚日志)
2025-06-28
8
0
0
MySQL
2025-06-28
10-MySQL的LRU算法优化
1. 基于冷热数据分离的思想设计LRU链表 解决LRU链表问题:冷热数据分离的思想 为了优化之前讲到的 简单LRU链表 的问题,MySQL 在设计 LRU链表 时,引入了 冷热数据分离 的
2025-06-28
11
0
0
MySQL
2025-06-28
09-LRU算法
LRU 链表(Least Recently Used,最近最少使用) 1. 如果 Buffer Pool 中的缓存页不够用了,该怎么办呢? 在执行 CRUD 操作时,无论是查询还是修改数据,都会将磁盘上的数据页加载到 Buffer Pool 的缓存页中。而加载数据页时,必须找到一个空闲的缓存页,因此
2025-06-28
2
0
0
MySQL
2025-06-28
08-Flush链表
1. 脏数据页到底为什么会脏? 接下来,我们来探讨一个关键问题。当你在执行增、删、改操作时,如果发现数据页尚未缓存,系统就会通过 free 链表找到一个空闲的缓存页,并将数据页从磁盘读取到该缓存页中。而如果数据页已经存在于缓存中,那么下一
2025-06-28
3
0
0
MySQL
2025-06-28
07-Free链表
MySQL 从磁盘读取数据页到 Buffer Pool 时,free 链表 在这一过程中扮演了重要的角色。 1. 数据库启动时如何初始化 Buffer Pool
2025-06-28
3
0
0
MySQL
2025-06-28
06-Buffer Pool
1. Buffer Pool 在数据库中的重要地位 从数据的增删改操作开始,我们可以更清楚地回顾一下 Buffer Pool 在数据库中的重要地位。
2025-06-28
9
0
0
MySQL
2025-06-28
05 一般来说,通用场景下的数据库配置和数据库性能的指标
1. 当解数据库的架构原理之后,就该了解一下数据库的规划 有一定并发量的互联网类的系统,对数据库可能会产生每秒几百,每秒几千,甚至每秒上万的并发请求量,对于这类场景下,我们应该选择什么样的机器去部署数据库,才能比较好的
2025-06-28
14
0
0
MySQL
2025-06-28
04 基于更新语句,在InnoDB存储引擎中的执行流程,聊聊binlog是什么?
1. redo日志刷盘策略的选择建议 对于redo日志的三种刷盘策略,我们通常建议是设置为1 也就是说,提交事务的时候,redo日志必须是刷入磁盘文件里的。
2025-06-28
10
0
0
MySQL
2025-06-27
03-初步了解InnoDB存储引擎的架构设计
1. 更新语句在MySQL中是如何执行的? 首先假设我们有一条SQL语句是这样的: update user
2025-06-27
15
0
0
MySQL
1
...
4
5
6
7
8