---
title: OceanBase 数据库 MySQL 模式下的事务隔离级别指南-OceanBase数据库使用指南
description: 了解OceanBase数据库在实际应用中关于 OceanBase 数据库 MySQL 模式下的事务隔离级别指南相关的常见问题和使用技巧，帮助您快速解决 OceanBase 数据库 MySQL 模式下的事务隔离级别指南的难题。
image: https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*OSPzQ6GUQF4AAAAAQHAAAAgAeiGDAQ/original
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

划线反馈

# OceanBase 数据库 MySQL 模式下的事务隔离级别指南

更新时间：2025-03-02 04:16

适用版本： V2.1.x、V2.2.x、V3.1.x、V3.2.x、V4.0.x、V4.1.x、V4.2.x 内容类型：TechNote  

在数据库系统中，事务隔离级别定义了多个事务并发执行时相互隔离的程度。常见的事务隔离级别包括：

- READ UNCOMMITTED
 - READ COMMITTED
 - REPEATABLE READ
 - SERIALIZABLE

## OceanBase MySQL 模式下的隔离级别支持

### 当前支持的隔离级别

在 OceanBase MySQL 模式下，实际支持的事务隔离级别如下：

- REPEATABLE READ (RR): 该模式确保事务在整个生命周期内读取的记录是一致的。
 - READ COMMITTED (RC): 该模式允许读取已提交的数据，防止脏读。

### SERIALIZABLE 隔离级别

尽管 OceanBase MySQL 模式下没有实现 Serializable 隔离级别，但仍然允许用户设置该隔离级别。设定成功后，数据库在实际运行中表现与 REPEATABLE READ 隔离级别类似。

## OceanBase MySQL 模式与原生 MySQL 的区别

### REPEATABLE READ 隔离级别的差异

在 OceanBase MySQL 模式下，REPEATABLE READ 隔离级别的内部实现与原生 MySQL 的 REPEATABLE READ 隔离级别存在显著差异。OceanBase 的实现实际上与 Oracle 模式下的得序列化隔离级别（Serializable Isolation, SI）相似。

- 原生 MySQL 的 REPEATABLE READ：使用幻读阻止机制，通过锁定来确保在同一事务中对同一数据的多次读取得到一致的结果。
 - OceanBase 的 REPEATABLE READ：基于 Oracle SI 的实现，通过时间戳来管理读写操作，从而实现一致性。

## 适用版本

OceanBase 数据库所有版本

Previous

[sched_ctx.cur_stmt_unreachable_partitions_ print 未加锁，被其他线程修改导致 core 问题](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000002118988)

Next

[OceanBase 数据库事务管理中的 upper_trans_version](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000002828782) ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
