SQL 事务的四大特征

本文详细阐述了事务的四个关键特征:原子性、一致性、隔离性和持久性,以及如何通过加锁和回滚机制保证数据的一致性。此外,还介绍了数据库的四种隔离级别,从最低到最高,以确保并发操作的正确性。
摘要由CSDN通过智能技术生成
事务的四大特征:

原子性:把多个操作,打包成一个整体。整体要么执行成功,要不一个都不执行。

一致性:数据的完整性和业务逻辑的正确性。(账要对的上)

隔离性:数据库“一心多用”,同时处理多个事务,事务之间的隔离级别会导致不同的并发问题,如脏读(事务a针对某个表做出了一些修改,在a提交前,b读到了,后面a的操作有吧数据进行修改,解决办法:写加锁),不 可重复读(a先提交,b在读的时候,a又改了,解决办法:读加锁),幻读(a提交数据,b进行读数据,c对a进行新增/删除数据,导致b读到的数据集不同。解决办法:“串行化”)

持久性:把数据存储在硬盘上,程序/主机重启,数据仍然能存在。执行事务对数据库产生的修改,就会在硬盘上持久保存,重启后依然存在。

写操作加锁:执行a的过程中,b不能执行,降低了脏读的可能性,提高了隔离性,提高了数据的准确性。

读操作加锁:原理同上。

回滚机制:如果运行到一半出问题了,数据库能够自动的吧前面的sql造成的影响给恢复回去。

日志类似于保存

四个隔离级别:

1)read uncommitted:允许读取其他事务未提交的数据

2)read committed:只能读取其他事务提交后的数据

3)repeatable read:针对读操作和写操作都加锁了

4)串行化(serializable):所有的事务都是串行执行的 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值