当前位置:网站首页>脏读、幻读、不可重复读
脏读、幻读、不可重复读
2022-07-17 00:14:00 【HYYyyying】
脏读
脏读又称无效数据的读出,是指在数据库访问中,事务T1将某一值修改,然后事务T2读取该值,此后T1因为某种原因撤销对该值的修改,这就导致了T2所读取到的数据是无效的,值得注意的是,脏读一般是针对于update操作的。
脏读就是指当一个事务正在访问数据,并且对数据进行了修改,而这种修改还没有提交到数据库中,这时,另外一个事务也访问这个数据,然后使用了这个数据。因为这个数据是还没有提交的数据,那么另外一个事务读到的这个数据是脏数据,依据脏数据所做的操作可能是不正确的。
幻读
幻读(Phantom Read),是指当事务不是独立执行时发生的一种现象。
事务A读取与搜索条件相匹配的若干行。事务B以插入或删除行等方式来修改事务A的结果集,然后再提交。
幻读是指当事务不是独立执行时发生的一种现象,例如第一个事务对一个表中的数据进行了修改,比如这种修改涉及到表中的“全部数据行”。同时,第二个事务也修改这个表中的数据,这种修改是向表中插入“一行新数据”。那么,以后就会发生操作第一个事务的用户发现表中还存在没有修改的数据行,就好象发生了幻觉一样.一般解决幻读的方法是增加范围锁RangeS,锁定检索范围为只读,这样就避免了幻读。
不可重复读
不可重复读,是指在数据库访问中,一个事务范围内两个相同的查询却返回了不同数据。
这是由于查询时系统中其他事务修改的提交而引起的。比如事务T1读取某一数据,事务T2读取并修改了该数据,T1为了对读取值进行检验而再次读取该数据,便得到了不同的结果。
一种更易理解的说法是:在一个事务内,多次读同一个数据。在这个事务还没有结束时,另一个事务也访问该同一数据并修改数据。那么,在第一个事务的两次读数据之间。由于另一个事务的修改,那么第一个事务两次读到的数据可能不一样,这样就发生了在一个事务内两次读到的数据是不一样的,因此称为不可重复读,即原始读取不可重复。
边栏推荐
- 【Unity编辑器扩展】Unity内部Asset资源配置ScriptableObject
- bugku---game1
- 成信大ENVI_IDL第一周实验测试:数组的简单运算+详细解析
- ENVI_ Idl: read the NO2 column content of all OMI products and calculate the monthly average, quarterly average, annual average + analysis
- MeterSphere基于JMeter分布式性能压测平台
- STL--map容器
- BUAAOS-Lab0实验报告
- BladeX——精心设计的微服务架构
- Leetcode 322: Coin Change - 动态规划
- 保留两位小数,并向上取值
猜你喜欢

JS note 1
![[hdrp HD rendering pipeline] create hdrp project and upgrade the built-in pipeline project to hdrp project](/img/40/d3b2bb62db88c7b18a3c3df4df5609.png)
[hdrp HD rendering pipeline] create hdrp project and upgrade the built-in pipeline project to hdrp project

成信大ENVI_IDL第二周课后作业:提取n个点的气溶胶厚度+详细解析

Logic vulnerability - login verification code security

ENVI_ Idl: batch process the re projection of MODIS swath data and output it to GeoTIFF format + detailed analysis

ENVI_ Idl: average calculation + analysis of MODIS swath products in batches

信号与系统实验

LeetCode:动态规划中的子序列问题

逻辑漏洞---登录验证码安全

Swagger——世界上最流行的Api框架
随机推荐
字符串转换为整数
图像质量评估指标:SNR、PSNR、MSE和SSIM
DoubleDQN的理论基础及其代码实现【Pytorch + Pendulum-v0】
Swagger——世界上最流行的Api框架
leetcode力扣经典题目——82.柱形图中的最大矩形
【HDRP高清渲染管道】创建HDRP工程,把内置管线工程升级为HDRP工程
30分钟搞懂 HTTP 缓存
Visual studio 2019-qt debugging
LeetCode:动态规划中的子序列问题
【Unity编辑器扩展】Unity发布资源到商店流程Unity Asset Store Publish
status 500 reading AftersaleService#getAftersaleList(Long)+com.sun.proxy.$Proxy214.getAftersaleList
元宇宙开发者的乐园 解析元宇宙协议Caduceus生态价值
新手如何配置多个 SSH Key(通俗易懂手把手教学)
[unity Editor Extension] the pre-processing and post-processing pictures of unity assets are automatically transferred to sprite2d
【工具篇】SQLite本地数据库在Unity3D的应用
第2章-系统控制原理 -> 经典控制理论
【Unity编辑器扩展】Unity资产预处理和后处理图片自动转Sprite2D
STL -- string container
【Antv G2】折线图如何添加点击事件(点击任意位置即可获取折线上点的值)
Dueling DQN的理论基础及其代码实现【Pytorch + Pendulum-v0】