---
title: "事务相关规范 - OceanBase 数据库 V4.2.1 | OceanBase 文档中心"
description: 事务相关规范 本文介绍在 OceanBase 数据库关于事务的规范。 OB 3.x 版本对对大事务本身没有大小限制，但是要控制好并发量，防止内存使用激增。 对 where 子句中的 in 列表参数的个数不再限制。 在 OBServer 节点初始化时，对 MemStore 的内存使用率达到 80% 时开启写入进行了限速…
image: https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*OSPzQ6GUQF4AAAAAQHAAAAgAeiGDAQ/original
---
切换语言

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

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库分布式版 - V 4.2.1 LTS

# 事务相关规范

更新时间：2026-04-16 00:11:36

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.2.1/zh-CN/700.reference/500.sql-reference/200.sql-specifications-and-practices/200.sql-writing-Specification/500.transaction-related-specifications.md)  

本文介绍在 OceanBase 数据库关于事务的规范。

- OB 3.x 版本对对大事务本身没有大小限制，但是要控制好并发量，防止内存使用激增。

     - 对 where 子句中的 in 列表参数的个数不再限制。
     - 在 OBServer 节点初始化时，对 MemStore 的内存使用率达到 80% 时开启写入进行了限速：

      `alter system set writing_throttling_trigger_percentage = 80 TENANT = ALL;`  

  #### 注意

  限速会限制 clog 回放速度，可能会影响转储的触发时机。
 - 批量操作数据时，需要程序必须有中断处理能力，以及事务失败重试机制。
 - 由于 OceanBase 的分布式事务采用两阶段提交的方式，需要事务有失败重试和事务状态未决检查执行状态的机制。
 - 前端程序中禁止使用除 `set names` 以外的 set 语句，包括 `set timezone`，`set SQL_mode` 和 `set isolation_level` 等类似命令。
 - 当需要唯一的主键时，序列是非常有用，序列也能提供全局唯一且连续的整数。
 - 限制会话的并发数。

  如果一个租户有 n 个 CPU，通常该租户最多有 `10*n` 个用户会话是同时活动的，此后增加的每个额外的并发会话，在活跃之前将等待一个可用的工作线程。
 - 开启自动提交事务，不推荐执行 `set @@autocommit=xx`，推荐使用 `Connection.setAutoCommit(xx)` 接口。
 - 开启事务，不推荐执行 `start transaction/begin`，推荐使用 `Connection.setAutoCommit(xx)` 接口。
 - 完结事务，不推荐执行 `commit/rollback`，推荐使用接口 `Connection.commit()／Connection.rollback()` 接口。

 上一篇 下一篇 ![有帮助](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) 咨询热线
