【mysql的当前读和快照读】

news/2024/11/16 23:57:57/

在MySQL中,尤其是InnoDB存储引擎中,读操作主要分为两种:当前读(Current Read)快照读(Snapshot Read)

  • 当前读
    当前读每次读取的都是当前最新的数据。这种读操作在读取数据时不允许其他事务对这些数据进行写操作,反之亦然,写操作时也不允许读操作。通常用于修改数据或加锁读取的操作,如UPDATE、INSERT、DELETE等。
select * from table where ... LOCK IN SHARE MODE;
select * from table where ... FOR UPDATE;
insert into tavble ...;
delete from table where ...;
update table ...;
  • 快照读
    快照读每次读取的是某个时间点的快照数据。一条数据正在被另一个事务修改,快照读也可以进行,保证读写不冲突。常用于查询数据的操作,如SELECT等。
select * from table where ...

mysql只有REPEATABLE READ(可重复读)和READ COMMITTED(读已提交)隔离级别才会使用快照度

不同的隔离级别下,快照读的行为也有所不同。

  • 在REPEATABLE READ(可重复读)隔离级别下(MySQL默认隔离级别),一个事务内多次快照读同一条记录,会得到第一次查询时的快照数据, 当然中间不能发生当前读, 否则会刷新快照。
  • 在READ COMMITTED(读已提交)隔离级别下,一个事务内多次快照读同一条记录,会得到最新提交的快照数据。

http://www.ppmy.cn/news/1547571.html

相关文章

工业大数据分析与应用:开启智能制造新时代

在全球工业4.0浪潮的推动下,工业大数据分析已经成为推动智能制造、提升生产效率和优化资源配置的重要工具。通过收集、存储、处理和分析海量工业数据,企业能够获得深刻的业务洞察,做出更明智的决策,并实现生产流程的全面优化。本文…

DAY113代码审计-PHPTP框架微P系统漏审项目等

一、环境安装 导入数据 Debug 版本信息收集 一、不安全写法的sql注入(拼接写法绕过预编译机制) 1、Good.php的不安全写法 2、查找可以参数 3、找路由关系 application/index/controller/Goods.php http://172.19.1.236:8833/index.php/index/goods/aj…

MathGPT的原理介绍,在中小学数学教学的应用场景,以及代码样例实现

大家好,我是微学AI,今天给大家介绍一下MathGPT的原理介绍,在中小学数学教学的应用场景,以及代码样例实现。MathGPT的核心架构是一个精心设计的多层次系统,旨在有效处理复杂的数学问题。其主要组成部分包括 数学知识图谱…

django入门【05】模型介绍(二)——字段选项

文章目录 1、null 和 blank示例说明⭐ null 和 blank 结合使用的几种情况总结: 2、choices**choices 在 Django 中有以下几种形式:**(1) **简单的列表或元组形式**(2) **字典映射形式**(3&#…

Java之JDBC,Maven,MYBatis

前言 就是用来操作数据库的 1.JDBC快速入门 注意在使用前一定要导入jar包 在模块那里新建目录,新建lib,粘贴复制jar包,我这个jar设置的是模块有效 package test1017;import java.sql.Connection; import java.sql.DriverManager; import…

【Linux】多线程(中)

目录 一、线程互斥 1.1 互斥概念 1.2 互斥量mutex 1.3 互斥量相关API (1)初始化互斥量 (2)销毁互斥量 (3)互斥量加锁和解锁 1.4 互斥量原理 1.5 重入和线程安全 二、死锁 2.1 概念 2.2 造成死锁…

网约车管理:规范发展,保障安全与便捷

在数字化时代,网约车已成为城市出行的重要组成部分,为公众提供了前所未有的便捷性。然而,随着网约车行业的迅猛发展,一系列管理问题也随之浮现,如司机资质审核不严、车辆安全标准不一、乘客权益保护不足等。这些问题不…

c++写一个死锁并且自己解锁

刷算法题: 第一遍:1.看5分钟,没思路看题解 2.通过题解改进自己的解法,并且要写每行的注释以及自己的思路。 3.思考自己做到了题解的哪一步,下次怎么才能做对(总结方法) 4.整理到自己的自媒体平台。 5.再刷重复的类…