• 2024-06-23MySQL 面试突击指南:核心知识点解析2
    事务并发可能引发的问题MySQL是一个客户端/服务器架构的软件,对于同一个服务器来说,可以有多个客户端与之连接,每个客户端与服务器连接后,可以称为一个会话(Session)。每个客户端都可以在自己的会话中向服务器发出请求语句,一个请求语句可能是某个事务的一部分,也就是说,服务器可能
  • 2024-06-21事务
    一、事务的四大特性原子性(Atomicity)事务包含的所有数据库操作要么全部成功,要不全部失败回滚。一致性(Consistency)一致性是指事务必须使数据库从一个一致性状态变换到另一个一致性状态,也就是说一个事务执行之前和执行之后都必须处于一致性状态。一致性规定事务提交前后只存
  • 2024-06-20隔离机制、锁机制、三大范式
    【一】隔离机制【1】数据库读现象的本质是数据库在高并发场景下多个同时执行的事务带来的影响。【2】数据库三大读现象在数据库中,不同的事务隔离级别可能会导致脏读(DirtyRead)、不可重复读(Non-repeatableRead)和幻读(PhantomRead)等问题的出现。【3】脏读(1)概述事务1和
  • 2024-06-20数据库管理系统的数据隔离级别
    数据库中的幻读和不可重复读是并发事务处理中的两个重要概念,它们与事务的隔离级别紧密相关。以下是对这些概念的进一步解释以及它们在不同隔离级别下的表现:不可重复读(Non-repeatableRead):不可重复读发生在一个事务读取了某个数据项,然后在同一事务中再次尝试读取同一数据项时,发
  • 2024-06-14数据库事务
    事务特性事务应该具有4个属性:原子性、一致性、隔离性、持久性。这四个属性通常称为ACID特性。原子性(atomicity)一致性(consistency)持久性(durability)隔离性(isolation)一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并
  • 2024-06-14脏读,幻读,不可重复读
    案例: 操作步骤及解读:11.创建数据库:2createdatabaseceshi;342.创建表:56CREATETABLEtest_table(7idINTPRIMARYKEY,8valueVARCHAR(100)9);10插入数据11INSERTINTOtest_table(id,value)VALUES(1,'yujia
  • 2024-06-02MySql基础复习
    本系列参考动力节点老杜MySQL视频教程一.数据库设计三范式1.第一范式:任何一张表都应该有主键,每个字段是原子性的不能再分以下表的设计不符合第一范式:无主键,并且联系方式可拆分。应该这样设计:2.第二范式:建立在第一范式基础上的,另外要求所有非主键字段完全依赖主
  • 2024-05-23详解MVCC以及尽可能解决幻读的两种方案
    MVCC通过「版本链」来控制并发事务访问同一个记录时的行为并行事务问题+隔离级别幻读:在一个事务内多次查询某个符合查询条件的「记录数量」,如果出现前后两次查询到的记录数量不一样的情况,就意味着发生了「幻读」现象。脏读:读到其他事务未提交的数据;不可重复读:前后读取
  • 2024-05-18MySQL面试必备三之事务
    本文首发于公众号:Hunter后端原文链接:MySQL面试必备三之事务这一篇笔记介绍一下MySQL的事务,面试中常被问到关于事务的几个问题如下:事务是什么为什么需要事务,事务有什么作用事务的特点事务可能带来哪些问题事务有哪些隔离级别,这些隔离级别都可以解决哪些问题可重复读隔
  • 2024-05-02mysql 隔离级别为可重复读如何解决幻读
    MySQL中的可重复读(RepeatableRead,RR)隔离级别通过几种机制来解决幻读问题:1.**多版本并发控制(MVCC)**:在可重复读隔离级别下,MySQL使用MVCC来管理事务读取的数据版本。这意味着在事务开始时,系统会创建一个ReadView(读视图),该视图记录了当前所有活跃事务的ID。当执行SELECT查询时
  • 2024-04-08MySQL面试题
    一、MySQL的事务隔离级别SQL中定义了4种隔离级别,不同的隔离级别对应着事务中做不同的修改,同时在事务内和事务间的可见性也不同。越低的隔离级别越能支持更高的并发,对系统的开销也越低。1.readuncommitted(未提交读)最低级别,允许一个事务读取另一个事务尚未提交的数据。这可
  • 2024-03-29数据库事务解读
    基本用法STARTTRANSACTION;UPDATEaccountsSETbalance=balance-100WHEREaccount_id='A';UPDATEaccountsSETbalance=balance+100WHEREaccount_id='B';COMMIT;ROLLBACK;--假设这里发生了错误,我们回滚事务先开启事务,再执行相关的行为,如果执行顺
  • 2024-03-26事务级别有哪些?
    ReadUncommitted(读未提交):这是最低的事务隔离级别。一个事务可以读取另一个尚未提交的事务的修改。可能出现的问题包括脏读、不可重复读和幻读。由于它允许读取未提交的数据,所以性能上可能稍好一些,但数据一致性风险也最高。ReadCommitted(读已提交):大多数数据库系统的默
  • 2024-03-20记一下mysql隔离级别问题
      MSQL默认隔离级别是  可重复读; 可重复读即 同一次查询,再次查询结果一致;不会查询到别的事务提交的内容;原理:开始事务后,做一次select产生一个readview,这个readview已经确定了能读取的undolog链;简单理解就是只能读取到当前事务版本之前的数据;当另一个事务插入数据
  • 2024-03-15MySQL的四个事务隔离级别有哪些?各自存在哪些问题?
    前言大家应该都知道mysql的事务有四个隔离级别,但是他们分别是什么隔离级别并且会带来什么问题呢?接下来我为大家一一揭晓,通过图解的方式方便大家理解。一、读未提交(ReadUncommitted)1、这个是隔离级别最低的。2、顾名思义,可以看出来就是一个事务可以读取另外一个未提交事务
  • 2024-03-15MySQL解决幻读(2)
    MySQL的默认隔离级别(REPEATABLE-READ)如何解决脏读和不可重复度脏读读取到未提交的数据不可重复度两次读取的数据不一致,侧重与数据的更新幻读两次读取的数据不一致,侧重数据的新增和删除解决根据当前读或MVCC来解决脏读和不可重复读的当前读:加锁,在读取时会将所有数据加
  • 2024-03-13事务
    特性并发问题脏读:一个事务读取到另一个事务还没有提交的数据。不可重复读:一个事务读取同一个数据,先后读取的数据不同幻读:一个事务按照条件查询的时候没有查到对应的数据行,但是在插入数据的时候,又发现这条数据行存在。事务的隔离级别
  • 2024-03-08笔记(五):MySQL之事务概述
    一、什么是事务事务(Transaction):访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。当在数据库中更改数据成功时,在事务中更改的数据便会提交,不再改变。否则,事务就取消或者回滚,更改无效。二、事务的四大特性1、原子性(Atomicity)原子性是指事务包含的所有操作要么
  • 2024-02-27事物隔离级别
    >事物隔离级别MySQL中的事务隔离级别一共有4种:1.读未提交(ReadUncommitted)   最低隔离级别,事务可以读取到别的事务尚未提交的修改。可能会导致脏读、不可重复读和幻读。2.读已提交(ReadCommitted) 解决脏读,保证读取到的数据均已提交。可能导致不可重复读和幻
  • 2024-02-06数据库之隔离级别,脏读幻读,事务特性
    目录1事务隔离级别1.1默认隔离级别1.2读未提交1.3读已提交1.4可重复读1.5序列化2事务关键词2.1定义(脏读,不可重复读,虚读)2.2不可重复读与幻读的区别3事务的四个特性3.1原子性3.2一致性3.3隔离性3.4持久性1事务隔离级别1.1默认隔离级别ISOLATION_DEFAULT:默认
  • 2024-01-29【21.0】MySQL进阶知识之事务隔离机制
    【一】数据库读现象的本质是数据库在高并发场景下多个同时执行的事务带来的影响。【二】数据库三大读现象在数据库中,不同的事务隔离级别可能会导致脏读(DirtyRead)、不可重复读(Non-repeatableRead)和幻读(PhantomRead)等问题的出现。【1】脏读(1)概述事务1和事务2并发执行
  • 2024-01-27MySQL幻读问题
    幻读指的是一个事务开启之后,执行了两次相同的SELECT查询某一范围内的数据,但是第二次查询返回了第一次未返回的行,也就是读取到了幻行,这就是幻读问题。MySQL官方也将这个问题叫做幻象问题,读取到的行叫做幻行。地址:https://dev.mysql.com/doc/refman/8.0/en/innodb-next-key-lo
  • 2024-01-26事务的隔离级别及脏读,不可重复读,幻读等问题
    事务隔离级别以及对应的问题如上所示。读未提交:在修改数据时在没有提交时就修改了数据库,如果修改回滚则又修改为原值,这样的话在修改与回滚之间读取的数据就是不准确的,会产生脏读现象。脏读现象是读取到未修改的数据,即是数据逻辑上不存在的数据(因为回滚未提交),而下面产生的问题均
  • 2024-01-15MVCC多版本并发控制和幻读问题的解决
    首先我们先介绍一下锁的分类,再进入今天的正题。一、锁分类:1.从性能上分:乐观锁、悲观锁。乐观锁(用版本号对比或CAS机制)适用于读比较多的场景,悲观锁适用于写比较多的场景。如果在写比较多的场景使用乐观锁,会导致对比次数过多,影响性能。2.从对数据的粒度上分:表锁、页锁、行锁
  • 2023-11-29事务的隔离级别
    事务的常见问题:脏读,幻读,不可重复读更新丢失(LostUpdate) 原因:当多个事务选择同一行操作,并且都是基于最初选定的值,由于每个事务都不知道其他事务的存在,就会发生更新覆盖的问题。类比github提交冲突。脏读(DirtyReads) 原因:事务A读取了事务B已经修改但尚未提交的数据。若事务B回