This commit is contained in:
30
src/content/posts/中间件/MySQL/MySQL事务隔离级别.md
Normal file
30
src/content/posts/中间件/MySQL/MySQL事务隔离级别.md
Normal file
@@ -0,0 +1,30 @@
|
||||
---
|
||||
title: MySQL事务隔离级别
|
||||
published: 2025-09-07
|
||||
description: ""
|
||||
image: ""
|
||||
tags: ["事务隔离级别", "MySQL"]
|
||||
category: "中间件 > MySQL"
|
||||
draft: false
|
||||
lang: ""
|
||||
---
|
||||
|
||||

|
||||
|
||||
# 1 读未提交(脏读,不可重复读,幻读 问题)
|
||||
|
||||
最低的事务隔离级别,在这个事务隔离级别下,一个事务能看到另外一个事务未提交的数据修改,会导致 **脏读** 的问题(读取到其他事务未提交的数据)
|
||||
|
||||
# 2 读已提交(不可重复读,幻读)
|
||||
|
||||
这个事务隔离级别虽然解决了脏读问题,也就是只能读取到另外一个事务已经提交的数据,读取不到另外一个事务没有提交的数据,但是它有**不可重复读**的问题(同一个事务中,相同的查询会返回不同的结果)
|
||||
|
||||
# 3 可重复读(幻读) MySQL 默认事务隔离级别
|
||||
|
||||
这个事务隔离级别,使用 MVCC(快照读)的方式,解决了不可重复读的问题,但是还是有**幻读**的问题(幻读也就是在一个事务中,读取到另外一个事务插入的行,导致这个事务查询到的结果集行数不同)
|
||||
|
||||

|
||||
|
||||
# 4 串行化
|
||||
|
||||
最高的事务隔离级别,使用排他锁(Exclusive Lock)来保证事务的完全隔离。
|
||||
Reference in New Issue
Block a user