Skip to content

Commit 4e1cf7e

Browse files
authored
Fix outdated statement about TiDB's default transaction mode in optimistic-transaction.md (#21007) (#21010)
1 parent 570662f commit 4e1cf7e

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

optimistic-transaction.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,10 +68,15 @@ summary: 了解 TiDB 的乐观事务模型。
6868
>
6969
> 从 v8.0.0 开始,[`tidb_disable_txn_auto_retry`](/system-variables.md#tidb_disable_txn_auto_retry) 被废弃,不再支持乐观事务的自动重试。推荐使用[悲观事务模式](/pessimistic-transaction.md)。如果使用乐观事务模式发生冲突,请在应用里捕获错误并重试。
7070
71-
使用乐观事务模型时,在高冲突率的场景中,事务容易发生写写冲突而导致提交失败。MySQL 使用悲观事务模型,在执行写入类型的 SQL 语句的过程中进行加锁并且在 Repeatable Read 隔离级别下使用了当前读的机制,能够读取到最新的数据,所以提交时一般不会出现异常。为了降低应用改造难度,TiDB 提供了数据库内部自动重试机制
71+
使用乐观事务模型时,在高冲突率的场景中,事务容易发生写写冲突而导致提交失败。从 v3.0.8 开始,TiDB 默认使用[悲观事务模型](/pessimistic-transaction.md),与 MySQL 一致。这意味着 TiDB 和 MySQL 在执行写入类型的 SQL 语句的过程中会进行加锁,并且在 Repeatable Read 隔离级别下使用了当前读的机制,能够读取到最新的数据,所以提交时一般不会出现异常。
7272

7373
### 重试机制
7474

75+
> **注意:**
76+
>
77+
> - 从 TiDB v3.0.0 开始,事务的自动重试功能默认为禁用状态,因为该功能可能导致**事务隔离级别遭到破坏**
78+
> - 从 TiDB v8.0.0 开始,不再支持乐观事务的自动重试。
79+
7580
当事务提交时,如果发现写写冲突,TiDB 内部重新执行包含写操作的 SQL 语句。你可以通过设置 `tidb_disable_txn_auto_retry = OFF` 开启自动重试,并通过 `tidb_retry_limit` 设置重试次数:
7681

7782
```toml

0 commit comments

Comments
 (0)