Toggle navigation
码云博客
首页
Devops
PHP
Golang
数据库
算法
Docker
K8s
Ai
杂项
Home
mysql
MySQL InnoDB 的双写策略
小码哥
2025-04-20 21:12:51
数据库
mysql
MySQL双写策略
双写的作用MySQL InnoDB 存储引擎中的双写策略(Doublewrite Buffer)是为了防止在将内存中的数据页(Page)写入磁盘时发生部分写失效(Partial Page Write / Torn Page)导致的数据损坏问题,从而提高数据在意外宕机(如操作系统崩溃、断电)后的恢复能力和数据一致性。 问题背景:部分写失效 (Partial Page Write)
阅读全文
MySQL幻读与间隙锁(Gap Lock)解析指南
小码哥
2025-03-22 17:47:43
数据库
DB
mysql
MySQL间隙锁(Gap Lock)解析指南 1. 间隙锁的本质与设计哲学间隙锁(Gap Lock)是InnoDB存储引擎独特的锁机制,它不锁定记录本身,而是锁定记录之间的"空白区域"。这一设计思想源于数据库系统对并发控制的不断探索,反映了数据库设计者对"读写"冲突的深刻理解。从数据结构的角度看,间隙锁实际上锁定的是B+树索引中节点之间的范围,这种锁定方式与传统行锁的最大
阅读全文
Go语言之防缓存击穿利器 Singleflight
小码哥
2024-08-11 17:33:26
Golang
ACID
事务
mysql
Go语言之防缓存击穿利器 Singleflight 1. 缓存击穿在日常开发中,为了提升性能和减轻数据库的压力,通常会对热点数据进行缓存。例如,使用 Redis 缓存用户请求的数据,如果缓存中有数据则直接返回,否则查询数据库并将结果写入缓存。但是,如果缓存失效了,在查询数据库和将数据再次写入缓存的过程中,其他请求也会出现缓存未命中的情况,导致大量请求直接打到数据库,给数据
阅读全文
MySQL的底层原理与索引结构选择
小码哥
2024-03-02 17:07:45
数据库
database
mysql
MySQL的底层原理与索引结构选择MySQL是一种流行的开源关系型数据库管理系统,它的设计和实现包含了许多复杂的底层原理。在这些原理中,索引结构的选择对于数据库性能有着至关重要的影响。本文将详细介绍MySQL的底层原理,并解释为什么MySQL的索引结构默认使用B+Tree,而不是其他如BTree、Hash、二叉树或红黑树。 MySQL的底层原理MySQL的架构可以分为几个
阅读全文
MySQL的Redo Log、Undo Log和Binlog详解
小码哥
2024-02-18 15:35:13
数据库
database
mysql
MySQL的Redo Log、Undo Log和Binlog详解在MySQL数据库系统中,Redo Log、Undo Log和Binlog是三个关键的日志组件,它们在保证数据一致性和支持数据复制等方面发挥着重要作用。下面我们将详细介绍这三个概念的原理、应用场景以及它们之间的区别。 Redo Log(重做日志) 概念Redo Log是InnoDB存储引擎特有的一种日志,
阅读全文
MVVC多版本并发控制
小码哥
2023-09-06 15:35:14
数据库
mysql
MVCC 概念MVCC(多版本并发控制)是一种并发控制的方法,它对每一个读取的对象都生成一个“读时间点”的数据快照。“不同的事务可以在同一时间看到同一张表中的不同数据”在MySQL InnoDB存储引擎中,MVCC的实现通过在每一行记录后面保存两个字段来完成,这两个字段分别是:创建版本号(CREATE VERSION NUMBER,CVN)删除版本号(DELETE V
阅读全文
MySQL数据库的4种隔离级别
小码哥
2023-09-06 15:03:07
数据库
mysql
当用户并发访问数据库时,如果数据库系统对并发操作未控制好,可能会产生一些问题,如:脏读、幻读、不可重复读。为了解决这些问题,SQL标准定义了四种事务隔离级别,不同的隔离级别对并发操作的限制也就不同。
阅读全文
MySQL慢查分析
小码哥
2023-04-16 20:14:05
数据库
mysql
慢查询表现特征,如何运用好慢查询日志、性能分析工具、SQL 优化等方法进行分析和处理,处理好慢查询可显著提升我们程序的运行速度
阅读全文
MySQL分库分表
小码哥
2023-04-08 19:58:34
数据库
mysql
数据表写到两千万条数据之后,底层 B+ 树的层级结构就可能会变高,不同层级的数据页一般都放在磁盘里不同的地方,磁盘 IO 就会增多,查询性能就会变差。这个时候我们就会考虑分库分表。分表分为水平分表和垂直分表。而分库则是将一个库的数据拆分到多个相同的库中,访问的时候访问一个库
阅读全文
热门标签
laravel (3)
Opentracing (3)
链路追踪 (2)
Jaeger (2)
golang (19)
helm (3)
CRI (1)
kubesphere (1)
k8s (9)
slices (1)
Ticker (1)
Timer (1)
mysql (9)
pattern (2)
golang迭代器 (1)
docker (3)
向量化 (1)
factory (4)
设计模式 (6)
kafka (1)
sync.Once (1)
docker-compose (1)
消息中间件 (2)
sync (2)
pool (1)
池 (1)
queue (1)
gc (1)
垃圾回收 (1)
cond (1)
test (1)
heap (1)
内存逃逸 (1)
算法 (1)
事务 (1)
Singleflight (1)
context (1)
Nginx (1)
mutex (1)
锁 (1)
ACID (1)
php (1)
udp (1)
channel (1)
并发 (1)
es (2)
HTTP (3)
tcp (2)
redis (2)
llm (1)
isito (1)
服务网格 (1)
linux (1)
云原生 (5)
rag (2)
ssh (1)
容器 (4)
devops (3)
gorm (4)
database (2)
gitlab (1)
ai (6)
chatgpt (1)
sd (1)
DB (1)
mcp (2)
量化 (1)
蒸馏 (1)
内存对齐 (1)
MySQL双写策略 (1)
值传递 (1)
uintptr (1)
置顶推荐
最新评论
友情链接
更多
×
无需注册,用以下帐号即可直接登录。
需要先增加第三方登录配置。
点击前往
最新评论