事务

事务

1.什么是事务

  • 事务的正确执行能够让数据库从一种状态变为另一种状态,是访问数据库的一组操作序列,事务满足四大特性

2.事务的4个特性

1.原子性(atomicity)

  • 不可分割,要么全执行,要么全不执行

2.一致性(consistency)

  • 数据库可以正确地从一种状态转变为另一种状态

3.隔离性(ioslation)

  • 事务提交前,另一个事务不能读取到本事务操作的数据

4.持久性(durability)

  • 事务正确提交后,数据能够永久保存

3.事务的隔离界别

  • 默认级别(DEFAULT)
    • 采取底层数据库的默认隔离级别,mysql默认可重复读,Oracle默认读已提交
  • 读未提交(READ_UNCOMMITTED)
    • 可以读到其他事务未提交的数据,相当于没有进行隔离,会导致脏读、不可重复读、幻读
  • 读已提交(READ_COMMITED)
    • 只能读到其他事务已提交的数据,所以避免了脏读,但是同一事务中的两次对同一数据的读取却会可能导致不同,所以不能防止不可重复读、幻读
  • 可重复读(REPEATABLE_READ)
    • 可以重复读,在一次事务中,第一次和第二次对同一数据的读取都是一致的,所以避免了脏读、不可重复读,但是第二次读的数据可能和第一次读的数据虽然内容一致,但是会多出来一些内容,这就导致了幻读,如:第一次读AB字段,第二次读出来ABCD字段,虽然AB字段两次读取内容相同,但是CD字段内容就像幻觉一样多出来了,数据确实一致的
  • 串行化(SERLALIZABLE)
    • 最高隔离界别,脏读、不可重复读、幻读都不会出现

4.事务在MySQL中的使用

。。。。。。。。。

5.事务在spring中的配置

。。。。。。。。

6.事务在其他环境中的配置与使用

。。。。。。。。。

posted @ 2021-04-15 08:42  那木  阅读(78)  评论(0)    收藏  举报