昆明网站建设咨询重庆网站建设红衫

web/2025/9/26 16:58:10/文章来源:
昆明网站建设咨询,重庆网站建设红衫,搜索引擎推广简称,wordpress免费汉化Mysql锁实战 前言#xff1a;什么是锁一#xff1a;全局锁1.1 概念1.2 作用1.3 使用1.4 特点 二#xff1a;表级锁2.1 概念2.2 分类2.2.1 表锁2.2.2 元数据锁 MDL2.2.3 意向锁 三#xff1a;行级锁3.1 行锁(Record Lock)3.2 间隙锁(Gap Lock)3.3 临键锁(Next-Key Lock): 四… Mysql锁实战 前言什么是锁一全局锁1.1 概念1.2 作用1.3 使用1.4 特点 二表级锁2.1 概念2.2 分类2.2.1 表锁2.2.2 元数据锁 MDL2.2.3 意向锁 三行级锁3.1 行锁(Record Lock)3.2 间隙锁(Gap Lock)3.3 临键锁(Next-Key Lock): 四锁总结 前言什么是锁 锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中除传统的计算资源(CPU、RAM、I/O)的争用以外数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说锁对数据库而言显得尤其重要也更加复杂 一全局锁 1.1 概念 全局锁就是对整个数据库实例加锁加锁后整个实例就处于只读状态后续的DML的写语句DDL语句已经更新操作的事务提交语句都将被阻塞。其典型的使用场景是做全库的逻辑备份对所有的表进行锁定从而获取一致性视图保证数据的完整性。 1.2 作用 全库备份的时候表是一个一个进行备份的如果整体的数据库未被锁住业务系统仍然在进行写入数据由于有的表已经备份万比例其余的表则会发生数据不一致的问题。 1.3 使用 加锁flush tables with read lock解锁unlock tables 1.4 特点 数据库中加全局锁是一个比较重的操作存在以下问题 如果在主库上备份那么在备份期间都不能执行更新业务基本上就得停摆。如果在从库上备份那么在备份期间从库不能执行主库同步过来的二进制日志(binlog)会导致主从延迟。 解决方式 在InnoDB引擎中我们可以在备份时加上参数-single-transaction参数来完成不加锁的一致性数据备份 二表级锁 2.1 概念 表级锁每次操作锁住整张表。锁定粒度大发生锁冲突的概率最高并发度最低。应用在MyISAM、InnoDB、BDB等存储引擎中。 2.2 分类 2.2.1 表锁 对于表锁分为两类 表共享读锁(read lock) 加上读锁之后所有得客户端都只能读表数据不能修改表数据。 加锁lock tables 表名… read/write、释放锁unlock tables/客户端断开连接表独占写锁(write lock) 加上写锁之后其他客户端不能读不能写。当前客户端可以读、写 2.2.2 元数据锁 MDL MDL加锁过程是系统自动控制无需显式使用在访问一张表的时候会自动加上。MDL锁主要作用是维护表元数据的数据一致性在表上有活动事务的时候不可以对元数据进行写入操作。为了避免DML与DDL冲突保证读写的正确性。 备注 DDL数据定义语言 DML数据操作语言 DQL数据查询语言 DCL数据控制语言 2.2.3 意向锁 为了避免DML在执行时加的行锁与表锁的冲突在IoDB中引入了意向锁使得表锁不用检查每行数据是否加锁使用意向锁来减少表锁的检查。 意向锁分为以下两种 意向共享锁(IS)与表锁共享锁(read)兼容与表锁排它锁(write)互斥。由语句select…lock in share mode添加。意向排他锁(IX)与表锁共享锁(read)及排它锁(write)都互斥。意向锁之间不会互斥。由insert、.update、delete、select…for update添加。 三行级锁 行级锁每次操作锁住对应的行数据。锁定粒度最小发生锁冲突的概率最纸并发度最高。应用在InnoDB存储引擎中。 InnoDB的数据是基于索引组织的行锁是通过对索引上的索引项加锁来实现的而不是对记录加的锁。 行级锁主要分为以下三类 3.1 行锁(Record Lock) 锁定单个行记录的锁防止其他事务对此行进行update和delete。在RC、RR隔离级别下都支持 加锁规则 3.2 间隙锁(Gap Lock) 锁定索引记录间隙不含该记录确保索引记录间隙不变防止其他事务在这个间隙进行insert,产生幻读。在RR隔离级别下都支持。 3.3 临键锁(Next-Key Lock): 行锁和间隙锁组合同时锁住数据并锁住数据前面的间隙Gap。在RR隔离级别下支持。 四锁总结 本文介绍了MySQL中的锁机制并讨论了全局锁、表级锁和行级锁的概念、使用方法和特点。 全局锁是对整个数据库实例加锁常用于全库的逻辑备份以获取一致性视图保证数据的完整性。然而全局锁会导致数据库的写操作和同步过程受阻因此备份期间可能需要停止业务系统或导致主从延迟。解决方式是在InnoDB引擎中使用参数-single-transaction来完成不加锁的一致性数据备份。 表级锁是每次操作锁住整张表适用于MyISAM、InnoDB、BDB等存储引擎。表级锁分为表共享读锁和表独占写锁分别控制对表的读和写操作。此外MySQL还引入了元数据锁MDL用于维护表元数据的一致性避免DML和DDL冲突。 行级锁是每次操作锁住对应的行数据适用于InnoDB存储引擎。行级锁通过对索引项加锁来实现分为行锁、间隙锁和临键锁。行锁用于锁定单个行记录防止其他事务对该行进行修改或删除。间隙锁用于锁定索引记录间隙防止其他事务在间隙中插入数据从而避免幻读问题。临键锁是行锁和间隙锁的组合同时锁定数据行和数据前面的间隙。 综上所述锁在数据库中起到保证数据并发访问一致性和有效性的重要作用。不同级别的锁机制适用于不同的场景开发人员需要根据实际情况选择合适的锁策略以提高数据库的并发性能。

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

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

相关文章

铜陵市企业网站建设天津集体建设用地出售 网站

目录 一、应用层二、协议三、序列化和反序列化 一、应用层 之前的socket编程,都是在通过系统调用层面,如今我们来向上打通计算机网络。认识应用层的协议和序列化与反序列化 我们程序员写的一个个解决我们实际问题, 满足我们日常需求的网络程序, 都是在应…

网站右侧悬浮代码网站开发工具评价

下载安装路由 1. 下载安装路由库 npm i vue-router 2. 在 src 中新建 views 文件夹,在其中新建页面 3. 在 src 中新建一个 router 文件夹,其中新建一个 index.js import { createRouter, createWebHashHistory } from vue-router; // 导入页面 imp…

福州设计公司友情链接seo

春运是最热的话题,买火车票是最流行的事情;网上订票给大家带来了极大的便利,但是由于各种原因,网上订票成功率很低,至少比在淘宝上买东西困难多了。在下不才,试图提出其解决方案。 问题:并发访问…

佛山百度网络推广seo交互论坛

PHP 使用Imagick模块 缩放,裁剪,压缩图片 包括gif图片缩放 裁剪代码如下:/*** 图片裁剪* 裁剪规则:* 1. 高度为空或为零 按宽度缩放 高度自适应* 2. 宽度为空或为零 按高度缩放 宽度自适应* 3. 宽度,高度到不为空或为…

深圳住房和建设局网站全景看房学建筑的女生后悔吗

随机数的产生在一些代码中很常用,也是我们必须要掌握的。而java中产生随机数的方法主要有三种:第一种:new Random()第二种:Math.random()第三种:currentTimeMillis()第一种需要借助java.util.Random类来产生一个随机数…

什么是高端网站建设广州哪里有学做网站的

1,排序处理 1.1cluster by排序 ,在Hive中使用order by排序时是全表扫描,且仅使用一个Reduce完成。 在海量数据待排序查询处理时,可以采用【先分桶再排序】的策略提升效率。此时, 就可以使用cluster by语法。 cluster…

单位网站建设费如何入账wordpress+游戏插件

第一章 神经网络是如何实现的 这些年人工智能蓬勃发展,在语音识别、图像识别、自然语言处理等多个领域得到了很好的应用。推动这波人工智能浪潮的无疑是深度学习。所谓的深度学习实际上就是多层神经网络,至少到目前为止,深度学习基本上是用神…

比较好的商城网站设计昆山建设银行网站首页

局域主机做服务器,安装DNN,外网访问的解决办法 问题: 如图:局域网主机IIS安装了DotNetNuke 4.0.x版本,设置虚拟目录为:dnn ,安装好之后,内网用户通过http://192.168.19.9/dnn访问是没问题…

网站模板免费下载网站建设五年发展规划

这是学习笔记的第 2479篇文章 说一件有些遗憾的事情。其实今年遗憾的事情有好几件,这一件算是其中之一。倒不是它发生在今天,而是每每想起来,都有一种无力感和酸楚,索性简单写一写纪念一下。 这件事情就是放弃了读博士的想法。 在…

南阳网站seo顾问室内设计方案网站

​ SueWakeup 个人主页:SueWakeup ​​​​​​​ 系列专栏:学习技术栈 ​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​ 个性签名&…

践行新使命忠诚保大庆网站建设wordpress电影分享

1. 指针是什么 2. 指针和指针类型 3. 野指针 4. 指针运算 5. 指针和数组 6. 二级指针 7. 指针数组 目录 1. 指针是什么? 2. 指针和指针类型 2.1 指针-整数 2.2 指针的解引用 3. 野指针 3.1 野指针成因 3.2 如何规避野指针 4. 指针运算 4.1 指针…

专业企业网站建设报价腾讯云服务器12元一年

第一章 计算机网络概述 一,网络发展的形态 了解:当前网络的组成形态: 二,计算机网络的定义 掌握 网络的物理组成实体 网络的工作方式 网络组建的目的 三,通过网络定义 我们如何学习网络 物理实体如何构成&…

网站开发按前端后端分解wordpress替代

装备生产业务涉及原材料采购、车间排产、班组生产评估、派工单、接单报价、委外发料、库存盘点、设备台账、图纸设计等诸多环节,而各环节数据的共享问题普遍存在于装备生产企业内部,同时也直接影响企业的生产效率和整体效益等。 企业外部环境的变化和行…

襄阳市住房和城乡建设厅网站上视频网站系统开发

0 持久化(pipelines.py)使用步骤 1 爬虫中间件和下载中间件 1.1 爬虫中间件(一般不用) 1.2 下载中间件(代理,加请求头,加cookie) 1.2.1 加请求头(加到请求对象中) 1.2.2 加cookie 1.2.3 加代理 2 scrapy集成selenium 3 源码去重…

一个网站需要多少网页ps怎么做网站导航

在 element plus 表格中,您可以使用 summary-method 属性来指定一个函数,计算表格中列的合计或平均值等。该函数应该返回一个对象,其中包含每个列的合计值。例如,如果您的表格数据是这样的: [{ name: John, age: 20, …

小学生做电子小报的网站做外贸推广自己网站

Day35 贪心算法 part04 860.柠檬水找零 pass 406.根据身高重建队列 pass

东营企业网站制作网贷代理推广

1、USB驱动程序存在于不同的内核子系统(块设备、网络设备、字符设备等等)和USB主控制器之中。 2、USB核心为USB驱动程序提供了一个用于访问和控制USB硬件的接口,而不必考虑系统当前存在的各种不同类型的USB硬件控制器。 2.1 USB里的设备模型 Linux里一个很重要的概念是设备…

福州企业高端网站建设制作哪家好怎样建立一个公司网站

目录 开始示例el挂载点data数据对象 vue基本标签v-textv-htmlv-on计数器示例实现v-showv-ifv-bind图片切换示例v-forv-on补充v-model axios网络请求axios基本使用vue中使用axios 开始示例 1.首先在html页面中引入vue的生产环境&#xff0c;在body标签中粘上下面代码 <scrip…

制作网站首先要知道什么软件开发项目管理书籍

云服务器通过实现云端数据分发和内容传输优化来提高性能、可靠性和效率。这通常涉及以下几个方面的技术和方法&#xff1a; 1. CDN(内容分发网络) 内容分发网络(CDN)是一种分布式网络架构&#xff0c;用于将内容(如网页、图像、视频等)分发到全球各地的用户。CDN通过在全球各地…

怎么样签约设计网站建设一个网站项目预算

图书管理系统设计与实现 摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本图书管理系统就是在这样的大环境下诞生&#xff0c;其可以帮助管理者在短时间内处…