背景
在v6.0.0版本,针对悲观事务引入了内存悲观锁的优化(In-memorylock),从压测数据来看,带来的性能提升非常明显(Sysbench工具压测oltp_write_only脚本)。
Tps提升30%左右减少Latency在15%左右
TiDB事务模型从最初的乐观事务到悲观事务;在悲观事务上,又针对悲观锁进行的”Pipelined写入“和”In-memorylock“优化,从功能特性上可以看出演进过程(参考TiDB事务概览)。
乐观事务
乐观事务在提交时,可能因为并发写造成写写冲突,不同设置会出现以下两种不同的现象:
关闭乐观事务重试,事务提交失败:也就是执行DML成功(不会被阻塞),但是在执行