事务并发处理可能存在的异常
脏读 Dirty Read
读未提交
不可重复读 Unrepeatable Read
两次读取的结果不同
幻读 Phantom Read
事务隔离级别
级别脏读不可重复读幻读读未提交允许允许允许读提交禁止允许允许可重复读禁止禁止允许可串行化禁止禁止禁止
读未提交
* 允许读到未提交的数据,未使用锁。
读提交
* 只能读到已经提交的内容,可以避免脏读。 默认隔离级别。
可重复读
* 保证一个事务在相同查询条件下两次查询得到的数据结果是一致的。
可串行化
* 解决事务读取中所有可能出现的异常情况,但是牺牲了并发性。
总结
1. 隔离级别越低,系统并发度越大,出现问题的可能性也越大。
2. 具体开发中使用什么隔离级别,需要依据具体情况而定。
3. 一般使用读提交隔离级别,配合日志的双一。
4. 可重复读隔离级别,一般用于数据库备份。
转载请注明原文地址:https://ipadbbs.8miu.com/read-12537.html