PCTA-2.3.5 如何在 TiDB 中使用事务-2班-王燕辉

课程名称:课程版本(101/201/301)+ 课程名称

学习时长:

1h

课程收获:

了解TiDB事务的基本概念,TiDB 分布式事务实现原理,以及使用方法

课程内容:

1、什么是事务
事务是一系列可以被当做原子操作的SQL的集合,事务可以让数据变得更安全,事务可以让数据并发操作变得更加安全,让数据状态保持一致性

2、TiDB事务引擎的设计原理
使用两阶段提交协议
image

3、乐观事务模式:在事务开启之后,修改将被缓存在TiDB内存中,知道用户发起提交指令后,TiDB对修改的Key和Value实行两阶段提交
image
特性:
(1)提供快照隔离级别的事务隔离级别
(2)乐观事务模式只有在提交时才能进行冲突检测

4、悲观事务模式
在语句执行过程中进行悲观锁加锁,实现行锁机制
image

5、如何使用乐观事务模型
首先乐观事务模型的语法和MySQL大部分兼容,同时可以使用outocommit系统变量,执行DDL语句也将提交上一个还未提交的且正在执行的事务
实例:

6、开启悲观事务模式
set global tidb_txn_mode开启全局悲观锁
begin
set tx_isolation控制当前事务隔离级别
实例:

学习过程中遇到的问题或延伸思考:

  • 问题 1:
  • 问题 2:
  • 延伸思考 1:
  • 延伸思考 2:

学习过程中参考的其他资料