数据库基础

本文详细介绍了数据库事务的基本概念,包括ACID四大特性,以及事务之间可能产生的脏读、不可重复读和幻读问题。同时,文章讨论了事务的不同隔离级别,如未提交读、已提交读、可重复读和可串行读,分析了各隔离级别存在的问题。此外,还讲解了数据库锁机制,包括乐观锁和悲观锁,并提到了行锁和表级锁,以及防止死锁的四个条件。
摘要由CSDN通过智能技术生成

事务的基本概念
事务指的是一个操作序列,序列内的操作要么都成功,要么都不成功。
事务四大特性ACID

  1. 原子性 一个事务内的所有操作,要么全部完成,要么全部不完成。
  2. 一致性 事务执行前后数据库的完整性约束没有被破坏,不破坏关系数据的完整性以及业务逻辑的一致性
  3. 隔离性 多个事务并发访问时,事务之间是独立的,不互相影响。
  4. 持久性 事务一旦执行完成,对数据库所做的更改就持久保存在数据库之中,不会回滚。

事务之间的相互影响

  1. 脏读 一个事务读取另外一个事务未提交数据,这个数据是有可能回滚的。
  2. 不可重复读 事务内的两个相同查询却返回不同数据,这是因为其他事务在此期间对数据进行更改并提交。
  3. 幻读 与不可重复读类似,但是主要针对插入操作。一个事务对表中所有数据进行了修改,同时另外一个事务在这个表中插入一个新的数据。这样对于第一个事务就仿佛出现幻觉。
  4. 丢失更新 两个事务同时读取同一记录,A先修改,B也修改然后提交,但是B提交结果覆盖A的

事务之间的隔离级别
事务之间的隔离是通过锁来实现的,通过阻塞来阻止事务之间的影响。
在这里插入图片描述

未提

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值