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