开发者学堂课程【JDBC数据库开发进阶:事务隔离级别】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/32
事务的并发读问题,(并发事务问题)
脏读:
读取到另一个事务未提交数据,既读取到了脏数据,任何的操作必须避免脏读,害处不大,一般对不可重复读都会采取允许的状态,
不可重复读:
两次读取不一致,不可重复读,对同一记录的两次读取不一致,因为另一事务对该记录做了修改。
幻读(虚读):
读到另一事务已提取数据。对同一张表的两次查询不一致,因为另一事物插入了一条记录,很多情况都允许幻读存在。
四大隔离级别(防止并发事务问题)
串行化:
不会出现任何并发问题,因为它是对同一数据的访问是串行的,非并发访问的,性能最差,但是安全性最高。 平时坚决不用 (三种读问题都能处理)
可重复性:
防止脏读和不可重复读,可处理不可重复问题,但是不能处理幻读问题,性能比repeatable好 ,处理两种性能问题(脏读,不可重复读,不能处理幻读)
读已提交数据:
防止脏读,没有处理不可重复读,也没有处理幻读。性能比repeatable read好(只能处理脏读,不能处理不可重复读和幻读)
读未提交数据:
可能出现任何事务并发问题。性能最好。(不处理)
如何设置隔离级别,如何查看隔离级别.
事务总结:
1、事务的特征:ACID,
2、分为提交和回滚,
事务开始边界与结束边界:开始边界(con.setautocommit(false))结束边界(con.commit)或con.rollback
3、事务的隔离级别:
多个事务并发执行时才需要考虑并发事务。