首页 > 其他分享 >为什么可重复的能解决不可重复读问题,而读提交不能

为什么可重复的能解决不可重复读问题,而读提交不能

时间:2023-05-27 15:45:08浏览次数:31  
标签:事务 隔离 重复 提交 数据 而读 读取

答:可重复读会创建快照读

可重复读隔离级别能解决不可重复读问题的原因是因为它在事务开始时创建了一个数据快照,并在整个事务期间都使用该快照。因此,其他事务对该数据的修改在可重复读隔离级别下是不可见的,即使这些修改已经提交。这种机制避免了不可重复读的问题。

而读提交隔离级别下,一个事务只能读取到已经提交的数据,而不能读取到未提交的数据。因此,在读提交隔离级别下,其他事务对数据的修改在该事务提交之前是可见的,这就导致了不可重复读的问题。

举个例子,假设在读提交隔离级别下,事务A执行SELECT语句读取了一行数据,并且此时该行数据还未被其他事务修改。但是,在事务A读取数据的同时,事务B对该行数据进行了修改并且提交了。此时,如果事务A再次执行相同的SELECT语句,就会读取到不同的数据,这就是不可重复读的问题。

因此,可重复读隔离级别适用于需要保证读取到的数据不会被其他事务修改的场景,而读提交隔离级别适用于需要读取最新数据的场景。

标签:事务,隔离,重复,提交,数据,而读,读取
From: https://www.cnblogs.com/chenyi502/p/17436836.html

相关文章

  • 3.无重复字符的最长子串
    给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。关键是搞懂什么时候左指针向右移动,右指针向右移动。左指针一直向右移动,左指针只要移动就移除指向的元素右指针移动条件:1.没越界2.指向元素不在Set里面右指针移动的时候时刻记录Set长度classSolution......
  • Pandas数据框去重复(AB、BA类型)
    <生信交流与合作请关注公众~号@生信探索>从string-db下载蛋白质相互作用的信息,在处理时发现蛋白A与B互作被记录了两次比如下边的例子(即AB、BA)df.drop_duplicates()#Symbol1Symbol2#Gnai3Pdcl2#Pdcl2Gnai3#Gm4340Gm3376#Gm3376Gm4340而且drop_duplicates不......
  • 459.重复的子字符串——学习笔记
    题目:给定一个非空的字符串s,检查是否可以通过由它的一个子串重复多次构成。示例1:输入:s="abab"输出:true解释:可由子串"ab"重复两次构成。示例2:输入:s="aba"输出:false示例3:输入:s="abcabcabcabc"输出:true解释:可由子串"abc"重复四次构成。(......
  • 直线电机的定位精度与重复定位精度的概念,为什么重复定位精度要比定位精度高
    单纯从直线电机的反馈来看,光栅或磁尺的刻度精度一般都在10-30um,在尺子的精度做不到um级别的情况下,如何能够保证依赖尺子来定位的直线电机的绝对定位精度?而重复定位精度往往只要伺服的PID没什么问题,静态时的PE可以很容易做到1-2个count,如此,重复定位精度一般可以比较容易的做到较高......
  • 3.10不重复三位数
    1.问题描述用1234这四个数能组成多少个互不相同且无重复的三位数。2.代码#include<stdio.h>#include<stdlib.h>intmain(){ intn; inti,j,k; for(i=1;i<5;i++) { for(j=1;j<5;j++) { for(k=1;k<5;k++) { if(i!=j&&i!=k&&j!=k) { printf(&quo......
  • 一个form表单有两个按钮,分别提交到不同的页面
    一个form表单有两个按钮,分别提交到不同的页面html页面:<div><h3>静态资源管理</h3></div><div><divclass="bjui-searchBar"><spanstyle="font-size:14px;padding:3px;font-weight:300">文件名称:</span>......
  • 【前端异常】html页面中的button按钮会自动提交form表单的问题以及解决方案
    情景描述有时候我们可能需要在表单中放置多个按钮,比如表单页面常见的按钮有创建和取消。点击创建按钮会触发单击响应事件,在单击响应事件中进行提交表单,这没有任何问题。点击取消按钮的时候,触发对应的单击响应事件,这个单击响应事件中主要处理关闭表单页面逻辑,所以会关闭页面,这也正常......
  • 【剑指offer】- 数组中重复的数字 -48/67
    1.题目描述在一个长度为n的数组nums里的所有数字都在0~n-1的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例1:输入:[2,3,1,0,2,5,3]输出:2或32.题目分析此题考查的是面试者的沟通能力,......
  • 提交项目到git远程仓库
    提交项目到github远程仓库点击VCS--》ShareprojectonGithub相关信息配置:修改完,点击share点击add等待完成。打开浏览器查看,可以发现我们的仓库里出现了刚刚提交的项目。等我们对IDEA项目进行了修改,新增文件等操作时,可以看到修改地方的蓝色提示,绿色则是新增。......
  • uniapp 数组添加不重复元素
    if(this.checkTimes.includes(_item.time)){this.checkTimes=this.checkTimes.filter((item)=>{returnitem!=_item.time;});}else{this.ch......