Ezio's Blog
Posts Categories Tags Music Mood About
Ezio's Blog· Light
☰ Menu
Posts Categories Tags Music Mood About

事务的隔离级别

Author: Ezio Date: April 15, 2021  9:35:15 Category: Java

事务的隔离性是指在并发环境中,并发的事务是互相隔离的,一个事务的执行不能被其它事务干扰。也就是说,不同的事务并发操作相同的数据时,每个事务都有各自完整的数据空间。

一个事务内部的操作及使用的数据对其它并发事务是隔离的,并发执行的各个事务是不能互相干扰的。
不同的隔离级别可以解决不同的问题,SQL的标准事务隔离级别包括:

  • 读未提交(read uncommitted): 一个事务还没有提交时,它做的变更就能被别的事务看到。

  • 读提交(read committed): 一个事物提交之后,它做的变更才会被其他事务看到。

  • 可重复读(repeatable read): 一个事物执行过程中看到的数据,总是跟这个事务在启动时看到的数据是一致的。未提交变更对其他事务也是不可见的。

  • 串行化(serializable): 对于同一行记录,写会加“写锁”,读会加“读锁”,当出现锁冲突时,后访问的事务需要等前一个事务执行完成,才能继续执行。

可能导致的问题有

  1. 脏读: 一个事务读到另一个事务未提交的更新数据。
  2. 不可重复读: 一个事务两次读同一行数据,可是这两次读到的数据不一样。
  3. 幻读:一个事务执行两次查询,但第二次查询比第一次查询多出了一些数据行。

Author: Ezio

Permalink: https://ezioy.cn/2021/04/15/%E4%BA%8B%E5%8A%A1%E7%9A%84%E9%9A%94%E7%A6%BB%E7%BA%A7%E5%88%AB/

License: Copyright (c) 2019 CC-BY-NC-4.0 LICENSE

Slogan: Nothing is true,Everything is permitted

Tag(s): # Java
back · home
Java8-Predicate函数 事务的四大特性
Ezio © 2019 - 2026 | Powered by Hexo & Chic | 访客数量:   浏览次数: | 渝公网安备50011302222043 | 渝ICP备2023013933号-1