mysql 源码学习理解记录--lock_rec_move
记录源码学习笔记,如有错误,还请帮忙指正。
Lock_rec_move 函数使用场景之用于update
Update 匹配条件时会用lock_rec_lock先加锁。然后再进行ha_update_row 操作。
在修改时,当修改的字段前后长度不一致时,会导致不能原地修改,因此会产生先delete、再insert rec的行为,在先删后插的过程中,为了保持对这个lock的持有,会将lock先move到infimum记录上,然后等插入完成后,再将这个lock转移到新的rec对象上来,转移过程只有 heap no对应 bit的变化,没有type mode变化。
如果update操作被rollback,也会有同样的流程。
另外,如果修改的字段前后长度一致,就可以做原地修改,就不存在这个lock_rec_move的操作了。
lock_rec_move查看调用关系,有以下几个场景:
1)lock_update_split_right
page向右分裂时更新lock table
2)lock_update_merge_left
3)lock_update_copy_and_discard
4)lock_update_root_raise
5)lock_rec_store_on_page_infimum 将 lock转移到infimum上。
6)lock_rec_restore_from_page_infimum 将infimum上的lock恢复到原记录上。
btr_cur_optimistic_update、btr_cur_pessimistic_update 都有使用到5,6函数。
相关文章:
mysql 源码学习理解记录--lock_rec_move
记录源码学习笔记,如有错误,还请帮忙指正。 Lock_rec_move 函数使用场景之用于update Update 匹配条件时会用lock_rec_lock先加锁。然后再进行ha_update_row 操作。 在修改时,当修改的字段前后长度不一致时,会导致不能原地修改…...
markdown(.md)常用语法
markdown(.md)常用语法markdown常用语法常用目录标题分割线格式空格换行无序列表有序列表列表嵌套文字引用行内代码代码块字体转义斜体加粗删除线下划线功能链接todo listtypora插入图片并保存在本地包含了一些常用的MD语法和操作,语法不是很…...
千言数据集赛题介绍
赛题题目 通用信息抽取任务评测 将多种不同的信息抽取任务用统一的通用框架进行描述,着重考察相关技术方面在面对新的、未知的信息抽取任务与范式时的适应和迁移能力。 赛题介绍 信息抽取旨在将非结构化文本中的信息进行结构化,是自然语言处理的基础…...
信息技术最全总结(备考教资)
信息技术 备考教资信息技术知识点总结,欢迎收藏!需要xmind和备考书籍的可以评论区留言。 第一部分-学科专业知识 第一章-信息技术基础知识 信息与信息技术概述 信息概述 信息的定义 信息本身不是实体信息是通过文字、数字、图像、图形、声音、视频等方…...
opencv识别车道线(霍夫线变换)
目录1、前言2、霍夫线变换2.1、霍夫线变换是什么?2.2、在opencv中的基本用法2.2.1、HoughLinesP函数定义2.2.2、用法3、识别车道3.1、优化3.1.1、降噪3.1.2、过滤方向3.1.3、截选区域3.1.4、测试其它图片图片1图片2图片31、前言 最近学习opencv学到了霍夫线变换&am…...
MySQL的同步数据Replication功能
MySQL提供了Replication功能,可以实现将一个数据库的数据同步到多台其他数据库。前者通常称之为主库(master),后者则被称从库(slave)。MySQL复制过程采用异步方式,但延时非常小,秒级…...
2023年全国最新高校辅导员精选真题及答案17
百分百题库提供高校辅导员考试试题、辅导员考试预测题、高校辅导员考试真题、辅导员证考试题库等,提供在线做题刷题,在线模拟考试,助你考试轻松过关。 21.完善大学生的自我意识,我们可以采取的措施是()。 …...
中文代码92
PK 嘚釦 docProps/PK 嘚釦諿hl | docProps/app.xml漅Mo?糤?皘幅H??Q州濾mじ沜咅K宩Z5~q矹阶浇?灭貄}鰜>hk?i灐Q墩娲蝊毲b檊!J邮?\鏶 鵉苻牢[?j Y?a漺1簕B傟p悺L睮恃鶤?龎劂Q|瓣} A??苷0???5m?髤咄佶?\/#姧1N_??熹 冟.琽僠糧固Pw襅…...
Python SEO采集海量文本标题,用倒排索引找出“类似的标题“代码实现
Python SEO采集海量文本标题,用倒排索引找出“类似的标题“代码实现 作者:虚坏叔叔 博客:https://xuhss.com 早餐店不会开到晚上,想吃的人早就来了!😄 一、说明 假设这个是采集到的海量文本标题: 现在要判断找到的这个标题 title = "拜登称特朗普拒绝承认选举…...
模型杂谈:快速上手元宇宙大厂 Meta “开源泄露”的大模型(LLaMA)
本篇文章聊聊如何低成本快速上手使用 Meta(Facebook)的开源模型 LLaMA。 写在前面 在积累点赞,兑现朋友提供的显卡算力之前,我们先来玩玩“小号的”大模型吧。我相信 2023 年了,应该不需要再赘述如何使用 Docker 干净…...
RedisCluster集群模式下master宕机主从切换期间Lettuce连接Redis无法使用报错Redis command timed out的问题
背景springboot使用redisTemplate访问redis cluster(三主三从),底层是Lettuce,当其中一个master挂掉后,slave正常升为master,程序报错 Redis commond timed out after 6 seconds。解决手动连接集群…...
Xuetr杀毒工具使用实验(28)
实验目的 (1)学习Xuetr的基本功能; (2)掌握Xuetr的基本使用方法。预备知识 windows操作系统的基本知识如:进程、网络、服务和文件等的了解。 XueTr是近年推出的一款广受好评的ARK工具。ARK工具全称为Anti R…...
fastapi(https)+openssl+测试(双向校验)
第一步生成根证书 # Generate CA private key openssl genrsa -out ca.key 2048 # Generate CSR openssl req -new -key ca.key -out ca.csr # Generate Self Signed certificate(CA 根证书) openssl x509 -req -days 365 -in ca.csr -signkey ca.key -o…...
TiDB Server
文章目录TiDB Server架构TiDB Server作用TiDB Server的进程SQL语句的解析和编译SQL读写相关模块在线DDL相关模块GC机制与相关模块TiDB Server的缓存热点小表缓存TiDB Server架构 Protocol Layer、Parse、Compile负责sql语句的解析编译和优化,然后生成sql语句执行计划…...
S3C2440移植Linux4.19.275内核以及过程中遇到的问题
目录 1 问题一:内核移植时MTD分区问题 2 问题二:uboot的MTDPARTS_DEFAULT定义的MTD分区,bootargs中的文件系统分区,内核的mtd_partition smdk_default_nand_part定义的分区,三者要对应起来 3 问题三:ubo…...
解忧杂货铺(二):UML时序图
目录 1、概述 2、UML时序图 2.1、什么是时序图 2.2、时序图的元素 2.2.1 角色(Actor) 2.2.2 对象(Object) 2.2.3 生命线(LifeLine) 2.2.4 控制焦点(Activation) 2.2.5 消息(Message) 2.2.6 自关联消息 2.2.7 组合片段 1、概述 在看AUTOSAR规范的时候发现时序图里面的…...
微信小程序的代码由哪些结构组成?
小程序官方建议把所有小程序的页面,都存放在pages 目录中,以单独的文件夹存在,如图所示: 其中,每个页面由4 个基本文件组成,它们分别是:js文件(页面的脚本文件,存放页面的数据、事件…...
Cloud Kernel SIG月度动态:发布 ANCK 新版本及 Plugsched v1.2.0
Cloud Kernel SIG(Special Interest Group):支撑龙蜥内核版本的研发、发布和服务,提供生产可用的高性价比内核产品。 01 2 月 SIG 整体进展 发布 ANCK 4.19.91-27.1 版本。 发布 ANCK 5.10.134-13.1 版本。 调度器热升级相关事…...
Jedis 使用详解(官方原版)
一、配置 Maven 依赖项Jedis也通过Sonatype作为Maven Dependency 分发。要配置它,只需将以下 XML 代码段添加到您的 pom.xml 文件中。<dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>2.…...
关于Pytorch中的张量学习
关于Pytorch中的张量学习 张量的概念和创建 张量的概念 Tensor是pytorch中非常重要且常见的数据结构,相较于numpy数组,Tensor能加载到GPU中,从而有效地利用GPU进行加速计算。但是普通的Tensor对于构建神经网络还远远不够,我们需…...
基于Remix与本地存储的订阅管理工具Subs:从设计到部署全解析
1. 项目概述:一个纯粹、高效的订阅费用追踪器在数字订阅服务泛滥的今天,我们每个人的钱包都在被各种“自动续费”悄悄掏空。从流媒体、云服务到各种软件会员,账单分散在各个平台,支付周期也各不相同,想要清晰地知道自己…...
从零基础到高薪AI工程师:我的大模型学习路线与转型经验(含收藏必备资源)
从零基础到高薪AI工程师:我的大模型学习路线与转型经验(含收藏必备资源) 本文作者分享从零基础成功转型AI工程师的亲身经历,强调学AI不必死磕算法和公式,企业更看重会用Python搭AI智能体、能用Java迭代项目的实干型人才…...
Midscene.js:重新定义AI驱动的跨平台视觉自动化架构
Midscene.js:重新定义AI驱动的跨平台视觉自动化架构 【免费下载链接】midscene AI-powered, vision-driven UI automation for every platform. 项目地址: https://gitcode.com/GitHub_Trending/mid/midscene 在当今快速发展的数字生态中,企业面临…...
桌面3D扫描技术解析:从结构光原理到实战避坑指南
1. 从工业殿堂到桌面工坊:3D扫描的平民化浪潮 几年前,如果你跟人提起3D扫描,脑海里浮现的画面多半是电影特效工作室里,演员身上贴满标记点,被一圈昂贵的专业相机环绕;或者是汽车制造车间里,巨大…...
Cursor Pro无限使用终极指南:三步解锁AI编程神器的完整方案
Cursor Pro无限使用终极指南:三步解锁AI编程神器的完整方案 【免费下载链接】cursor-free-vip [Support 0.45](Multi Language 多语言)自动注册 Cursor Ai ,自动重置机器ID , 免费升级使用Pro 功能: Youve reached you…...
5分钟掌握RePKG:Wallpaper Engine资源提取与格式转换的终极秘籍
5分钟掌握RePKG:Wallpaper Engine资源提取与格式转换的终极秘籍 【免费下载链接】repkg Wallpaper engine PKG extractor/TEX to image converter 项目地址: https://gitcode.com/gh_mirrors/re/repkg 你是否曾经面对Wallpaper Engine中的PKG资源包感到无从下…...
基于大语言模型的AI狼人杀游戏:双层角色扮演与模型竞技场设计
1. 项目概述:当狼人杀遇上AI,一场全新的推理盛宴毕业之后,想凑齐8到12个人,在周末的晚上围坐一圈,点上外卖,来一场酣畅淋漓的狼人杀,几乎成了一种奢望。这个游戏的精髓在于社交,但剥…...
手把手教你用UE5 C++复刻《只狼》式动态攀爬:不止于ALS V4的拓展思路
UE5 C实现《只狼》式动态攀爬系统:从ALS V4到次世代交互设计 在动作游戏开发领域,玩家与环境的交互质量往往决定了游戏体验的上限。当《只狼:影逝二度》以其行云流水般的攀爬系统重新定义动作游戏标准时,许多开发者开始思考&#…...
模块三-数据清洗与预处理——15. 异常值检测与处理
15. 异常值检测与处理 1. 概述 异常值(Outlier)是指与其他观测值显著不同的数据点。它们可能来自测量错误、数据录入错误,也可能是真实的极端情况(如高收入人群)。正确识别和处理异常值对数据分析至关重要。 import pa…...
Doccano自动标注实战:我用它3天搞定了一个NER项目的数据标注
Doccano自动标注实战:我用它3天搞定了一个NER项目的数据标注 1. 项目背景与挑战 上个月接到了一个从新闻文本中抽取公司名和职位的NER任务,标注量约5000条。作为独立开发者,既没有专业标注团队,也没有充足预算购买商业标注服务。传…...
