2.3.5 How to Use Transactions in TiDB(如何在 TiDB 中使用事务)@2班+mark







TiDB 事物:



最初tidb 选择的时乐观事务模型,几个特性:

1)提供了一个快照隔离级别,所有事物看到的是一个全局快照
2)所有修改都被缓存在tidbd内存当中。类似于mysql affected rows值在tidb中无实际意义。?
3)乐观事物只有在提交时才会进行冲突检测。如果检测到冲突而回滚,需要app重新提交事物。

从3.0开始引入悲观事物模型,3.0.8以后默认是悲观事物模型:




begin/ddl语句都会隐士提交前一个事物:



悲观事物模型三个变量:
set global tidb_trn_mode=‘pessimistic’
执行事物时指定:begin pessimistic
set tx_isoloation=‘read-committed’


tidb 在悲观事物模型下:只对读取的数据加锁,不支持gap锁。

同学你好,感谢参与 TiDB 4.0 课程的学习!

您提交的笔记内容过于简单,在复制 PPT 内容之外,希望能够补充个人对于内容的理解,本篇笔记将被视为无效笔记,不计入积分。

您可以在 24h 内继续完善课程笔记,如再次评估有效,可计入积分,但将失去评选“优质笔记”的资格。

期待您继续产出优质内容!

同学你好,感谢参与 TiDB 4.0 课程的学习!

此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。