mysql事物隔离级别
2018-01-15 16:13
507 查看
复习巩固加深印象
一。事务(ACID原子性,隔离性,一致性,持久性)
二。事务隔离级别
通常并发事务处理:
1》写-写,存在更新丢失问题
2》读-写,有隔离性问题,可能遇到脏读,不可重复读,幻读
其中:
1.脏读:A事务读到B未提交的数据
2.不可重复读:A事务第二次读时读到了B事务提交的写数据,可能导致2次读到的数据不一致
3.幻读:A事务根据读到的数据进行写操作,同时B也根据此数据进行写操作并提交。A提交完 B发现自己的数据丢失了
AB事务根据基础数据进行操作提交后发现结果可能并不是如自己所想。
不可重复读和幻读很类似,但也不同,前者能读到其它事务已经提交的数据,后者读不到其它事务已提交的数据!相同的是都是2次确认发现不对,且都是由于其他事务介入导致结果异常。解决方案很多,但核心思想,个人认为还是将事务串行化,只不过表现方式不同而已。
serializable(可串行化),最高级别,典型的悲观锁思维,数据到这里不会出现并发问题(串行执行),安全性最高。可以解决幻读,不可重复读,脏读。
repeatable-read(可重复读)对于同一份数据,任何事务在其事务周期内所读到的结果都是一样的。可以解决不可重复读,脏读。 mysql默认事务隔离级别。
read-committed(已提交读)可以读到已提交的数据。可以解决脏读。
read-uncommitted(读一切)
一。事务(ACID原子性,隔离性,一致性,持久性)
二。事务隔离级别
通常并发事务处理:
1》写-写,存在更新丢失问题
2》读-写,有隔离性问题,可能遇到脏读,不可重复读,幻读
其中:
1.脏读:A事务读到B未提交的数据
2.不可重复读:A事务第二次读时读到了B事务提交的写数据,可能导致2次读到的数据不一致
3.幻读:A事务根据读到的数据进行写操作,同时B也根据此数据进行写操作并提交。A提交完 B发现自己的数据丢失了
AB事务根据基础数据进行操作提交后发现结果可能并不是如自己所想。
不可重复读和幻读很类似,但也不同,前者能读到其它事务已经提交的数据,后者读不到其它事务已提交的数据!相同的是都是2次确认发现不对,且都是由于其他事务介入导致结果异常。解决方案很多,但核心思想,个人认为还是将事务串行化,只不过表现方式不同而已。
serializable(可串行化),最高级别,典型的悲观锁思维,数据到这里不会出现并发问题(串行执行),安全性最高。可以解决幻读,不可重复读,脏读。
repeatable-read(可重复读)对于同一份数据,任何事务在其事务周期内所读到的结果都是一样的。可以解决不可重复读,脏读。 mysql默认事务隔离级别。
read-committed(已提交读)可以读到已提交的数据。可以解决脏读。
read-uncommitted(读一切)
相关文章推荐
- mySQL数据事物隔离级别简单分析
- mysql 事物隔离级别详解
- MySQL_Oracle_事物的隔离级别
- Mysql事物的4种隔离级别
- 【MySQL运维】事物隔离级别和行日志格式设置不当导致故障案例 推荐
- Mysql的四种事物隔离级别
- mysql事物隔离级别
- mysql事物的隔离级别
- mysql事物隔离级别
- Mysql 查看及设置事物隔离级别
- mysql 事物隔离级别解读
- MySQL事物隔离级别详解 【转】
- MySQL 数据库事物隔离级别的设置
- 设置 mysql事物隔离级别
- MySQLInnoDB引擎事物隔离级别RC和RR
- 【mysql】事物隔离级别
- mysql__事物隔离级别
- MySQL 事物的隔离级别(简要)
- mysql事物隔离级别
- Mysql 查看及设置事物隔离级别