MySQL 核心架构与关键技术解析
2025-05-10 23:02:27 0 举报
AI智能生成
学习笔记
作者其他创作
大纲/内容
逻辑架构分层
Server 服务层
连接器:管理连接/ 权限验证(支持长连接池优化)
查询缓存:Key-Value结构(mysql8已移除)针对静态表效率高,在写操作频繁下使得缓存失效,影响效率
分析器:词法、语法分析(生成语法树)
优化器:执行计划优化(索引选择、join循序)
执行器::操作引擎返回结果
存储引擎层
InnoDB(默认):支持事务、行级锁、支持外键、聚簇索引、redo log(数据恢复)
MyISAM:表级锁、全文索引、
Memory:内存存储
核心日志模块
redo log(重做日志)
物理日志:记录数据页修改
WAL技术:先写日志再刷盘
环形结构:固定大小,循环写入
崩溃恢复:保证事务持久性
binlog (归档日志)
逻辑日志:记录操作语句
主从同步:数据复制基础
两阶段提交
准备阶段:事务先写入redolog,标记为准备状态
提交阶段:事务写入binlog,然后标记redolog 为提交状态
追加写入:不限文件大小
事务与并发控制
ACID实现
原子性 undolog
隔离性 MVCC+锁
持久性 redo log
一致性 前三者共同保证
锁机制
行级锁(共享锁、排它锁)
间隙锁(解决幻读)
死锁检测(等待超时机制)
MVCC实现
版本链结构
readview机制
可见性判断规则
性能优化要点
索引优化(最左前缀原则、覆盖索引优化、索引下推优化)
事务控制(避免长事务、合理设置隔离级别、死锁排查方法)
系统配置(Buffer Pool 大小设置、redo log 文件配置、双一配置保证数据安全)
sql优化 (explain 执行计划分析、慢查询日志监控、避免全表扫描)

收藏
0 条评论
下一页