Toggle navigation
码云博客
首页
Devops
PHP
Golang
数据库
算法
Docker
K8s
Ai
杂项
Home
数据库
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+树索引中节点之间的范围,这种锁定方式与传统行锁的最大
阅读全文
MySQL数据库事务和ACID特性
小码哥
2024-08-17 17:23:17
数据库
Singleflight
golang
MySQL数据库事务和ACID特性 1. 概述本文将深入探讨数据库事务和ACID(原子性、一致性、隔离性、持久性)特性,并详细解释MySQL是如何实现这些特性的。结论: 一致性(Consistency)是最终目标; 原子性(Atomicity)、隔离性(Isolation)、持久性(Durability)是实现一致性的手段。MySQL通过以下方式实现ACI
阅读全文
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存储引擎特有的一种日志,
阅读全文
GORM(一)入门之CURD
小码哥
2023-12-28 14:13:48
数据库
gorm
golang
GORM 是一个强大的 ORM 库,它为 Go 开发者提供了一个简单而有效的方式来与数据库交互,全功能 ORM、预加载、Context、预编译、批量插入等各种特性1. GORM 的安装流程要在 Go 项目中使用 GORM,我们首先需要安装这个包。以下是基本的安装流程: 首先,确保你安装了 Go,并设置了GOPATH。然后使用以下命令安装 GORM:```shellgo get
阅读全文
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 就会增多,查询性能就会变差。这个时候我们就会考虑分库分表。分表分为水平分表和垂直分表。而分库则是将一个库的数据拆分到多个相同的库中,访问的时候访问一个库
阅读全文
上一页
1
2
下一页
热门标签
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)
置顶推荐
最新评论
友情链接
更多
×
无需注册,用以下帐号即可直接登录。
需要先增加第三方登录配置。
点击前往
最新评论