数据库事务

2019-07-24  本文已影响0人  靈08_1024

本文(其实不止本文,我现在的多数思想都是)多数来源于多于infoQ中一位大神文章的理解。感谢程序员这个行业,everything is opened!If you can,anything will be your's! 再次传播一下,http://www.hollischuang.com。作为一只小白,会有你想要的!

事务的四大特性:原子性、一致性、隔离性、持久性。

事务的隔离现象

脏读:事务A读取了事务B未提交的数据。
不可重复读:事务A两次读取到的数据不一样(事务B在中间进行了修改)。
幻读:事务A两次读到的数据不一样(事务B在中间进行了增删)。

事务的隔离级别

未提交读(read uncommitted):所有隔离级别都会出现。

提交读(read committed):脏读不会出现,幻读和不可重复读还会出现。

可重复读(repeatable reads):脏读、不可重复读都不会出现,幻读会出现。

可序列化(Serializable):所有现象都不会出现。

因为在可序列化的隔离级别中,数据库不能 增删改 同一张表中的两条不同的数据,对于性能有很大的影响,所以MySQL默认的隔离级别是可重复读

参考:事务的隔离级别

spring中的事务的传播行为

PROPAGION_XXX :事务的传播行为

参考:spring中的事务

上一篇 下一篇

猜你喜欢

热点阅读