一、Mysql逻辑架构:
1、 第一层:服务器层的服务,连接线程处理。
2、 第二层:查询执行引擎,MySQL的核心服务功能,包括查询解析、分析、优化和缓存,所有跨存储引擎的功能都在这一层实现。
3、 第三层:存储引擎。存储引擎负责MySQL中数据的存储和提取。
二、并发控制
1、 读写锁:在处理并发读或者写时,可以通过实现一个由两种类型的锁组成的锁系统来解决这个问题。这两种类型的锁通常被称为共享锁和排他锁,也叫读锁和写锁。
a) 读锁是共享的,或者说相互不阻塞的,多个用户在同一时刻可以读取同一资源,互不干扰。
b) 写锁是排他的,也就是说一个写锁会阻塞其他的写锁和读锁。
2、 锁粒度
a) 尽量只锁定需要修改的部分数据,而不是所有的资源。锁定的数据越少,则系统的并发性越高,只要相互之间不发生冲突即可。
b) 锁策略:在锁的开销和数据的安全性之间寻求平衡。
c) 表锁:锁定整张表。
d) 行级锁:锁定一行。可以最大程度支持并发处理,在存储引擎层实现行级锁。
更新于2019.7.18