mysql事务隔离级别与锁机制

本文介绍了ACID特性,包括原子性、一致性、隔离性和持久性,以及并发事务处理中可能出现的问题,如脏读、不可重读和幻读。讨论了乐观锁和悲观锁的概念,并提到了数据库事务隔离级别的设置来防止这些问题。还提到了数据库操作的原子性,如通过SQL更新防止脏读。
摘要由CSDN通过智能技术生成
ACID
1.原子性:多个操作保持一致,要么都执行,要么都不执行(操作一致)
2.一致性:在事务的开始和完成时,数据都必须保持一致(数据一致)
3.隔离性:事务的隔离,不受外部操作影响,独立环境执行
4.持久性:事务完成之后,宕机了会数据的修改也是永久性的
并发事务处理带来的问题:
更新丢失或脏写
脏读:读到了未提交的更新数据
不可重读
幻读

乐观锁基于version实现,悲观锁:会有线程等待的情况
读锁会阻塞写锁,但是不会阻塞读。二写锁则会把读和写都阻塞
set tx_isolation="***"
数据库层面操作值做加减法 例如:update table set money=money - #{param},预防脏读
可重复读:幻读
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值