高性能MYSQL笔记
1. MYSQL逻辑结构
MYSQL逻辑结构有三层,分别为
1. 连接/线程处理:实现连接处理,授权认证,安全等
2. 服务层:该层主要有缓存,解析,处理,优化以及跨存储引擎如存储过程,触发器,视图等
3. 存储引擎:主要负责数据读取和存储。根据服务器层提供的执行计划,进行语句的执行。
2. 并发控制
并发控制是当多个线程或者事务同时操作同一数据时,如何控制才能保证数据一致性。利用锁机制和事务特点保证数据一致性。
锁:
可按锁的粒度进行划分,可分为行级锁和表级锁。事务中不同隔离级别会有不同的锁策略。 不同隔离级别加锁策略
行级锁:InnoDB和XtraDB支持。行级锁是建立在索引上,不是行记录。
事务:
ACID:原子性,一致性,隔离性,持久性
原子性:事务内要么全部成功提交,只要有一个执行失败,则会全部回滚。通过undolog实现原子性。
一致性:保证事务修改前后整体数据保持一致。例子,用户A通过银行系统转账1