首页
文章列表
标签墙
返回找工具啦
MySQL
共 57 篇文章
MySQL InnoDB文件空间ibd文件与系统表空间的管理
2026-06-20 12:49:35
MySQL InnoDB文件空间管理:ibd文件与系统表空间的优化指南 理解核心概念:两种表空间 在开始管理前,必须理解InnoDB存储引擎的两种主要数据存放方式。 1. 独立表空间:每个数据库表拥有一个独立的磁盘文件,文件名通常为 表名.ibd。这是MySQL 5.6.6及之后版本的默认设置。这种
MySQL
InnoDB
表空间管理
14
0
MySQL主键自增ID在InnoDB中连续插入的锁竞争问题
2026-06-20 03:50:29
MySQL主键自增ID在InnoDB中连续插入的锁竞争问题 在高并发场景下,向拥有自增主键的InnoDB表中连续插入数据时,可能会遇到性能瓶颈。本文将直接阐明问题根源,并提供一系列可立即执行的解决方案。 问题本质 当多个事务同时向同一张表插入数据时,InnoDB存储引擎为了保证自增ID生成的连续性和
MySQL
InnoDB
自增主键
14
0
MySQL InnoDB Buffer Pool LRU链表冷热数据淘汰策略
2026-06-19 18:41:34
MySQL InnoDB Buffer Pool LRU链表冷热数据淘汰策略 当数据库处理查询请求时,频繁地从磁盘读取数据会极大拖慢速度。Buffer Pool 就像一个高速缓存区,把经常用到的数据页(Page)暂存到内存中。问题随之而来:内存有限,如何决定哪些数据留下,哪些被淘汰?InnoDB 存
MySQL
InnoDB
BufferPool
13
0
MySQL InnoDB Purge线程清理Undo页的阈值控制机制
2026-06-19 00:45:11
MySQL InnoDB Purge线程清理Undo页的阈值控制机制 在InnoDB存储引擎中,事务的修改会产生旧版本数据,这些数据被存储在回滚段的 Undo页 里。当事务提交后,这些旧数据并不会被立即删除,而是需要一个后台线程,即 Purge线程,来进行异步清理。如果清理速度跟不上新事务产生旧版本
MySQL
InnoDB
Purge线程
18
0
MySQL InnoDB Undo Log回滚段与MVCC快照读的关联
2026-06-18 06:36:14
MySQL InnoDB Undo Log回滚段与MVCC快照读的关联 要理解MySQL InnoDB如何实现高并发读写且互不阻塞,就必须弄清楚它的两个核心机制:MVCC 和 Undo Log。它们之间的关系是:Undo Log 是 MVCC 能够工作的底层数据基础,而回滚段则是组织和管理这些数据的
MySQL
InnoDB
UndoLog
24
0
MySQL InnoDB Doublewrite Buffer防止页断裂的设计
2026-06-17 12:36:14
MySQL InnoDB Doublewrite Buffer防止页断裂的设计 在数据库运行过程中,若操作系统在将数据页从内存写入磁盘时发生意外崩溃(如断电),可能导致一个16KB的数据页只有一部分写入磁盘。这种“部分写入”的状态被称为页断裂。它会导致该数据页校验失败,数据库引擎无法读取或恢复该页,
MySQL
InnoDB
DoublewriteBuffer
23
0
MySQL联合索引最左匹配原则与索引下推ICP优化
2026-06-15 18:37:02
MySQL联合索引最左匹配原则与索引下推ICP优化 理解联合索引与最左匹配原则 创建 一个联合索引,例如 INDEXa, b, c,其底层存储结构(通常是B+树)会按照列 a, b, c 的顺序进行排序。你可以把它想象成一本电话簿,先按姓氏a排序,姓氏相同再按名字b排序,名字也相同则按中间名c排序。
MySQL
联合索引
最左匹配原则
23
0
MySQL datetime和timestamp在时区转换中的数据一致性问题
2026-06-07 15:45:29
MySQL datetime和timestamp在时区转换中的数据一致性问题 理解并正确处理MySQL中 datetime 和 timestamp 的时区行为,是避免应用数据出现混乱的关键。本文将直接演示两者的核心差异,并提供确保数据一致性的操作指南。 一、 理解核心区别:固定值 vs. 绝对时间点
MySQL
datetime
timestamp
39
0
MySQL隐式类型转换导致索引失效的意外全表扫描
2026-06-06 09:50:07
MySQL隐式类型转换导致索引失效的意外全表扫描 你是否遇到过这样的场景:一张数据量很大的表,一个经常查询且理应有索引的字段,响应速度却慢如蜗牛。使用 EXPLAIN 一查,执行计划中赫然显示 type: ALL,这意味着MySQL进行了全表扫描,索引完全没有生效。而罪魁祸首,往往就是不起眼的隐式类
MySQL
索引失效
隐式类型转换
41
0
MySQL InnoDB的间隙锁在范围查询中如何阻塞幻读
2026-06-03 18:48:25
MySQL InnoDB的间隙锁在范围查询中如何阻塞幻读 在并发的数据库事务中,“幻读”指一个事务在前后两次按相同条件查询时,第二次查询看到了第一次查询未返回的其他事务插入的新行,仿佛出现了“幻影”。MySQL InnoDB 存储引擎在 REPEATABLE READ(可重复读)隔离级别下,通过一种
MySQL
InnoDB
间隙锁
49
0
MySQL的主从复制原理与延迟问题
2026-06-02 08:13:38
MySQL的主从复制原理与延迟问题 主从复制是MySQL实现数据高可用、读写分离和数据备份的核心技术。理解其原理并掌握延迟问题的排查与优化,是每位后端开发与DBA的必备技能。 一、 主从复制原理:一个“流水账”的故事 主从复制的核心思想是让从库“复现”主库上发生的数据变更。这个过程可以分解为三个关键
MySQL
主从复制
复制原理
34
0
MySQL的explain执行计划分析与索引优化
2026-06-01 04:19:15
MySQL的explain执行计划分析与索引优化 当查询变慢时,第一个工具就是 EXPLAIN。它像一张X光片,能清晰地展示MySQL如何执行你的SQL语句。学会阅读它,是优化查询、合理使用索引的必经之路。 第一阶段:运行并解读 EXPLAIN 输出 执行 EXPLAIN 命令是分析的起点。在你的S
MySQL
执行计划
EXPLAIN
47
0
MySQL索引下推ICP的优化原理与适用条件
2026-05-29 10:21:56
MySQL 索引下推 ICP 的优化原理与适用条件 ICP 是什么 ICP(Index Condition Pushdown,索引条件下推)是 MySQL 5.6 版本引入的一种查询优化技术。它的核心思想是:将部分 WHERE 条件从服务层(Server Layer)下推到存储引擎层(Storage
MySQL
索引下推
ICP
56
0
MySQL 的 Online DDL 在全量拷贝阶段如何处理并发的 DML 增量数据
2026-05-27 22:10:10
MySQL 的 Online DDL 在全量拷贝阶段如何处理并发的 DML 增量数据 在 MySQL 中,Online DDL(在线数据定义语言)允许你在不阻塞 DML(数据操作语言,如 INSERT、UPDATE、DELETE)的情况下修改表结构。其中,全量拷贝阶段(COPY 算法)是耗时最长的步
MySQL
OnlineDDL
全量拷贝
59
0
MySQL Undo Log 在 MVCC 中的版本链构建与 ReadView 可见性判断
2026-05-27 06:11:07
MySQL Undo Log 在 MVCC 中的版本链构建与 ReadView 可见性判断 理解 MVCC 的核心组件 多版本并发控制(MVCC)是 MySQL InnoDB 引擎实现高并发读写的关键机制。它通过保留数据行的多个历史版本,让读操作无需等待写操作,从而提升性能。实现 MVCC 的两大核
MySQL
MVCC
UndoLog
61
0
MySQL Buffer Pool 的 LRU 链表为什么需要分为 Young 和 Old 区
2026-05-27 00:15:42
MySQL Buffer Pool 的 LRU 链表为什么需要分为 Young 和 Old 区 直接回答:为了 防止一次性大查询(如全表扫描) 把频繁访问的热数据从内存中“挤出去”,导致缓存命中率断崖式下降。下面通过拆解传统 LRU 的缺陷,然后展示分区后的工作机制,让你彻底理解这个设计。 1. 先
MySQL
BufferPool
LRU链表
55
0
MySQL Join查询的Nested Loop和Hash Join执行方式对比
2026-05-16 15:16:00
MySQL Join查询的Nested Loop和Hash Join执行方式对比 数据库查询性能低下往往是由于Join算法选择不当导致的。在MySQL中,理解Nested Loop Join(嵌套循环连接)与Hash Join(哈希连接)的区别,是优化SQL语句的关键一步。本文将直接解析这两种机制的
MySQL
数据库
Join查询
91
0
MySQL分页查询LIMIT OFFSET在百万数据下的性能优化
2026-05-15 03:09:04
MySQL分页查询LIMIT OFFSET在百万数据下的性能优化 当数据量达到百万级别时,直接使用 LIMIT offset, count 进行分页查询会导致数据库扫描大量无关数据行,随着偏移量(OFFSET)的增加,查询性能呈指数级下降。本文将提供三种经过验证的优化方案,帮助你彻底解决深分页性能瓶
MySQL
分页查询
性能优化
78
0
MySQL EXPLAIN ANALYZE获取实际执行时间与行数
2026-05-13 00:24:47
MySQL EXPLAIN ANALYZE获取实际执行时间与行数 EXPLAIN 是 MySQL 优化器的“蓝图”,它告诉你查询计划,但不是真实执行情况。EXPLAIN ANALYZE 才是“行车记录仪”,它记录了查询执行的真实时间和行数。通过 EXPLAIN ANALYZE,你可以精准定位查询中的
MySQL
EXPLAIN
执行计划
74
0
MySQL联合索引的最左匹配原则为什么会失效
2026-05-10 22:26:05
MySQL联合索引的最左匹配原则为什么会失效 MySQL的联合索引(复合索引)通过将多个列组合成一个索引来提高查询效率。最左匹配原则要求查询条件必须从索引的最左边列开始匹配,且不能跳过中间列。然而,在实际使用中,该原则可能失效,导致索引无法被正确使用,从而引发全表扫描,降低查询性能。本文将详细分析联
MySQL
联合索引
最左匹配原则
89
0
1
2
3
下一页