事务

事务ACID特性
  • 原子性(atomicity)
    一个事务必须被视为一个不可分割的最小单元,整个事务的所有操作要么全部提交成功,要么全部失败回滚
  • 一致性(consistency)
    数据库从一个正确的状态转换到另一个正确的状态(所有的状态满足预定的约束),状态的正确与否应该是由应用层自己定义。其用来保证所有的约束没有被打破
  • 隔离性(isolation)
    通常来说,一个事务所做的修改在最终提交以前,对其他事务是不可见的
  • 持久性(durability)
    一旦事务提交,所作的修改会被永久保存到数据库中
隔离级别
  • 读未提交(Read Uncommitted)
    事务中的修改,即使没有提交,对其他事务也都是可见的,一般实际应用中很少使用。无法解决脏读问题(B读取到事务A未提交的数据)
  • 读提交(Read Committed)
    一个事务从开始直到提交后,所做的修改对其他事务都是不可见的。无法解决不可重复读(事务A读取某一数据,执行过程中B改变了该数据,事务A再次读取该数据时数据改变了)
  • 可重复度(Repeatable Read)
    保证了在同一个事务中多次读取的记录结果是一样的。无法解决幻读(当事务A读取某个范围的记录时,B在该范围内插入了新的记录,事务A再次夺取该范围内的记录时,会产生幻行)
  • 可串行化(Serializable)
    最高的隔离级别,强制事务串行执行,会在每一个读取的数据上都枷锁,可能导致大量的超时和锁竞争
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值