Spring——》事务的隔离级别

参考链接:
    总结——》【Java】
    总结——》【Mysql】
    总结——》【Spring】

一、数据库的事务隔离级别

参考链接:Mysql——》数据一致性 && 事务隔离级别

二、Spring的事务隔离级别

Q:事务隔离级别设置得越高越好?
A:并不是越高越好。
事务隔离级别设置得越高,意味着势必要花手段去加锁用以保证事务的正确性,那么效率就要降低,因此实际开发中往往要在效率和并发正确性之间做一个取舍,一般情况下会设置为READ_COMMITED,此时避免了脏读,并发性也还不错,之后再通过一些别的手段去解决不可重复读和幻读的问题就好了。

Spring的事务隔离级别数据库的事务隔离级别脏读不可重复读幻读加锁读
DEFAULT使用数据库本身使用的隔离级别
ORACLE(已提交读)
MySQL(可重复读)
READ_UNCOMITTED未提交读 read uncommitted
READ_COMMITED已提交读 read committed
REPEATABLE_READ可重复读 repeatable read
SERLALIZABLE可序列化 serializable

1、DEFAULT

使用数据库本身使用的隔离级别
ORACLE(已提交读)
MySQL(可重复读)

2、READ_UNCOMITTED

3、READ_COMMITED

4、REPEATABLE_READ

5、SERLALIZABLE

可序列化,串行化,最高的事务隔离级别,挨个执行事务(执行完一个事务才能执行另外一个事务),这样就解决了脏读、不可重复读和幻读的问题了


版权声明:本文为weixin_43453386原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。