MySQL技术架构概览
摘要:
学习 MySQL 课程时的相关笔记 仅仅对 MySQL 的整体做的大概介绍
MySQL 逻辑架构
web 请求经过 tomcat 执行 sql 查询的经过
mysql 事务执行过程
MySQL锁机制
元数据锁 表级锁 存储引擎内部锁 全局读锁
MySQL锁流程
- SQL分析
- 打开表(元数据锁)
- 等待全局读锁
- 表级锁
- 执行SQL语句(存储引擎内部锁)
- 释放表级锁
- 释放元数据锁
锁粒度
表级锁
开销小,加锁快!锁的粒度大,发送冲突概率高,并发的最低
表级锁的锁模式
表共享读锁和表独占写锁
MyISAM只支持表锁
读锁会阻塞写,但是不会阻塞读,写锁则会把读和写都阻塞
行级锁
开销稍大,加锁慢,锁定粒度最小,会出现死锁,发生锁冲突概率最低 并发度最高
页面锁
开销和加锁时间介于表级锁和行级锁之间,会出现死锁,锁定粒度介于表锁和行锁之间,并发粒度一般
MySQL事务
定义事务的方法
start transaction;
SQL 语句
commit;
事务的ACID特性
- 原子性
Atomic
: 要么全部成功,要么全部回滚 - 一致性
Consistency
: 数据库总是从一个一致性状态转到另一个一致性状态 - 隔离性
Isolation
: 通常来讲,一个事务的修改提交以前,对其他事务不可见 - 持久性
Durability
: 一旦提交,所做的修改就会永久保存到数据库中
MySQL的开发模式
社区版: 免费,不提供技术支持 企业版:付费,提供新特性和技术支持
按更新发布分为:
- GA(General Availability): 官方推荐的版本
- RC(Release Candidate): 候选版本,最接近正式版本
- beta 和 alpha版本
2016年04月10日 / 10:56