mysql笔记

news2024/11/27 8:43:31

幻读

 

概念

一个事务中的两次同样的查询不一致。

解决幻读:

RR:使用select ... for update加排他锁

for update的引入是为了幂等性问题,如果不加for update可能出现并发问题。

【参考:MySQL幻读详解及解决方法_学而不思则忘的博客-CSDN博客_mysql 幻读】 

select ...for update引发的死锁问题  

插入意向锁与间隙锁是冲突的,所以当其它事务持有该间隙的间隙锁时,需要等待其它事务释放间隙锁之后,才能获取到插入意向锁。而间隙锁与间隙锁之间是兼容的,所以所以两个事务中 select ... for update 语句并不会相互影响

间隙锁在本质上是不区分共享间隙锁或互斥间隙锁的,而且间隙锁是不互斥的,即两个事务可以同时持有包含共同间隙的间隙锁。

插入意向锁是一种特殊的间隙锁,但不同于间隙锁的是,该锁只用于并发插入操作

关键问题是两个事务都可以获取间隙锁,并都在等待对方的事务释放间隙锁,导致死锁。

如果update后的where为非索引,那么会锁住整张表。

每插入一条新记录,都需要看一下待插入记录的下一条记录上是否已经被加了间隙锁,如果已加间隙锁,那 Insert 语句应该被阻塞,并生成一个插入意向锁 。

参考:面试官:解释下什么是死锁?为什么会发生死锁?怎么避免死锁? - 知乎

MySQL for update 死锁案例 - 墨天轮

MVCC

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/42300.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Word处理控件Aspose.Words功能演示:从 Java 中的 Word 文档中提取图像

图像通常用于表示 Word 文档中的重要信息。在文本旁边包含图像使内容更具吸引力。在某些情况下,您可能需要以编程方式提取嵌入在 Word 文档中的图像。为此,本文介绍了如何使用 Java 从 Word 文档中提取图像。 Aspose.Words for . java 最新下载&#xf…

著名歌唱家大衣哥太豪横了,参加商演被主办方请到五星级酒店就餐

自从农民歌唱家大衣哥,被前好友谷传民起诉后,他的人气不降反升,各种商演邀约也都不断。就在前几天,农民歌唱家大衣哥在商演结束后,被主办方邀请到五星级大酒店,享受了一顿丰盛的晚餐。 作为普通老百姓来说&…

【场景化解决方案】北极星深度集成钉钉PaaS,让OKR管理更加敏捷高效

方案简介 北极星OKR作为一款企业数字化目标管理软件,致力于为企业客户提供专业高效的数字化系统和一站式服务支持,助力企业管理转型升级。如今通过与钉钉的深度融合,在信息的反馈与交互和团队的协作上,营造了更加敏捷的场景&…

leetcode93. 复原 IP 地址

文章目录题目思考代码和注释总结题目 有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 ‘.’ 分隔。 例如:“0.1.2.201” 和 “192.168.1.1” 是 有效 IP 地址&#xff0…

Linux——Bash脚本基本用法总结

文章目录基本语法基于语法awk(分割命令返回值)sed(处理行内容)融合正则指令条件语句条件判断符1. if2. while额外方法在脚本中使用命令行指令并获取返回值延时打印当前时间基本语法 基于语法 awk(分割命令返回值&…

用友YonSuite“数智飞轮”用场景化告别产品与客户间的“翻译”

我们无疑是幸运的。淘宝、美团、掌上银行APP……这些诞生不过10年左右的移动互联网产物,用简单便捷的操作改变了我们千百年来衣食住行的方式。 相对而言,企业多少有点“不幸”。信息化建设虽然已经开展了20余年,但依然没享受到科技的便捷&am…

Java基础-继承

子类继承父类后构造器的特点: 子类中所有的构造器默认都会先访问父类中的无参的构造器,再执行自己。 为什么? 子类在初始化的时候,有可能会使用到父类中的数据,如果父类没有完成初始化,子类将无法使用父类…

一维离散数据的分区均匀采样

原理 原理类似文章点云梯度下采样中提到的梯度下采样。 大致采样思路如下: Step1:计算出每个待采样点 pip_ipi​ 的梯度 GiG_iGi​,并计算节点点云整体的平均梯度作为梯度阈值 GtG_tGt​。 Step2:比较 GiG_iGi​ 与梯度阈值 G…

基于BP神经网络的轨迹跟踪(Matlab代码实现)

👨‍🎓个人主页:研学社的博客 💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜…

002.组合|||——回溯算法

1.题目链接: 216. 组合总和 III 2.解题思路: 2.1.题目要求: 给一个元素数量k和一个元素和n,要求从范围[1,2,3,4,5,6,7,8,9]中返回所有元素数量为k和元素和为n的组合。(每个数字只能使用一次) 比如输入k…

大话游戏循环Game Loop——PythonC++

目录 前言 什么是游戏循环? 游戏循环的意义 从结构上来看: 从功能上来看: 正文 一个简单的游戏循环 阻塞游戏循环 现代基础游戏循环 “时间” 固定帧率游戏循环 时间驱动不固定帧率游戏循环 灵活帧率更新 之后的新问题 总结 …

网络基础—网关、网段、子网掩码

接上个笔记,工作时发现看似在一个网段的2个IP地址却ping不通,这里就是子网掩码发挥了作用。 IP地址 首先从最熟悉的IP地址开始介绍,IP地址是唯一标识,由32个0和1构成,长度为32bit,如00001010000000000000…

序列模型之循环神经网络(二)

目录 一.语言模型和序列生成 二.新序列采样 三.带有神经网络的梯度消失 四.GRU单元 一.语言模型和序列生成 上图的例子就是咱们的手机上的语音转文字输入差不多,说一句话,可能有多种可能的句子,那么到底是哪一种呢,咱们的语言…

【EDA365电子论坛】硬件人经历南下、北上,回乡创业,后悔了吗?

南下?北上?留下来?亦或是回乡?这些问题或许是每个电子人都曾遇到过的,如果可以,谁不想留在自己所熟悉的地方呢,但生活,总会让你想要的更多,只能选择再前行一步。 前几天在…

LeetCode题目笔记——2486. 追加字符以获得子序列

文章目录题目描述题目难度——中等方法一:一次遍历代码/C总结这个是上周末的周赛题目,当时忘做了,晚上的时候才想起,可惜了,题目还挺有意思的,类似的好像在以前做过,题目联机在这题目链接 题目…

你好,法语!A2知识点总结(4)

4.固定表达 4.1 devoir faire 4.2 ne…que ne…que:只…,仅仅 注意 用ne…que替换句子 Ex : En ce moment, il mange surtout des crales. En ce moment, il ne mange que des crales. 1)Elle lit surtout des romans. Il fait surtout du tennis.Ils s’intres…

NeRF算法Keras实现教程

在这个教程中,我们展示了 Ben Mildenhall 等人的研究论文 NeRF:将场景表示为用于视图合成的神经辐射场的最小实现。作者提出了一种巧妙的方法,通过神经网络对体积场景函数进行建模来合成场景的新颖视图。 为了帮助你直观地理解这一点&#x…

Mac下adb性能测试实战

本次实验以Editor App为例 1.测试Editor启动时长 打开终端,依次输入如下命令: adb devices 查看设备是否连接 adb shell 进入手机系统 adb devices pm list package -f | grep vidma 获取Editor包名 dumpsys package vidma.video.editor.video…

[glacierctf 2022] 只会3个

目录 Crypto CryptoShop 完成 Strange Letters Simple Crypto ChaCha60 Unpredictable Misc The Climber Size Matters ClipRipStage1 pwn Break the Calculator old dayz File-er rev Whats up Sandboxer 这个比赛完事后马上关网站。想复现都困难。会的不…

【宝塔面板安装与配置、Redis安装与配置、MySQL安装与配置】

提示:宝塔面板下载地址:https://www.bt.cn/new/download.html 文章目录前言一、快速迁移二、设置固定ip一.保证可以连接网络二.设置固定ip三、搭建宝塔面板四、做好备份五、安装Redis六、安装MySQL一、8.0版本以下二、8.0版本以上三、安全组开放端口四、…