MySQL 逻辑架构
读写锁
在处理并发读或者写的时候,使用共享锁和排它锁,也叫读锁和写锁。
锁策略
每种MySQL存储引擎都可以实现自己的锁策略和锁粒度。有两种策略:表锁和行级锁。行级锁可以最大程度地支持并发处理。
事务
事务的ACID概念:原子性、一致性、隔离性、持久性。
隔离级别
四种隔离级别:
- READ UNCOMMITTED(未提交读) (事务中的修改,其他事务可见。事务可以读到未提交的数据,称为脏读。少用)
- READ CMMITTED(提交读)(事务中的修改仅自己可见。称为不可重复读。如果在某一个事务中重复读取同样的记录,可能两次查询结果会不一样。)
- REPEATABLE READ (可重复读)(解决脏读问题,该级别保证了同一个事务中多次读取同样的记录结果是一致的。有幻读问题,所谓幻读,指的是当某个事务在读取某个范围的记录时,另一个事务又在该范围内插入新的记录,当前的事务再次读取该记录范围的记录时,会产生幻行。InnoDB引擎通过多版本并发控制MVCC解决了幻读问题。)(MySQL的默认级别)
- SERIALIZABLE(可串行化)(最高隔离级别,强制事务串行执行,避免幻读问题。少用)
转载于:https://my.oschina.net/leegq/blog/3003085