数据库的事务隔离级别有哪些?
2 分钟阅读
•
257 字
+
209 词
参考答案
-
读未提交
(Read Uncommitted):
- 允许一个事务读取另一个事务尚未提交的数据修改。
- 最低的隔离级别, 存在脏读、不可重复读和幻读 的问题。
-
读已提交
(Read Committed):
- 一个事务只能读取已经提交的数据。其他事务的修改在该事务提交之后才可见 。
- 解决了脏读问题,但仍可能出现不可重复读和幻读。
-
可重复读
(Repeatable Read):
- 事务执行期间,多次读取同一数据会得到相同的结果,即在事务开始和结束之间,其他事务对数据的修改不可见 。
- 解决了不可重复读问题,但在理论上仍可能出现幻读,所以引入了**MVCC(快照读)和间隙锁(当前读)**很大程度来避免了幻读问题。
-
序列化
(Serializable):
- 最高的隔离级别, 确保事务之间的并发执行效果与串行执行的效果相同 ,即不会出现脏读、不可重复读和幻读。