返回顶部
首页 > 资讯 > 数据库 >MySQL 锁的一些简单概念
  • 719
分享到

MySQL 锁的一些简单概念

MySQL锁的一些简单概念 2020-05-02 18:05:15 719人浏览 绘本
摘要

1. 锁的粒度  在Mysql中,只要有多个请求需要在同一时刻修改数据,都会产生并发控制的问题。而锁的作用可以保证同一资源能被某个请求唯一使用。 加锁是会消耗系统资源的,包括获得锁、检查锁是否已解除、释放锁等等操作,都会增加系统的

MySQL 锁的一些简单概念

1. 的粒度 

Mysql中,只要有多个请求需要在同一时刻修改数据,都会产生并发控制的问题。而锁的作用可以保证同一资源能被某个请求唯一使用。

加锁是会消耗系统资源的,包括获得锁、检查锁是否已解除、释放锁等等操作,都会增加系统的开销。

为了平衡锁的开销和数据的安全性,mysql对锁的粒度提供了多种方式,主要分为表锁和行级锁。

表锁(table lock):指在加锁时锁定整张表。

行级锁(row lock):指在加锁时锁定某一行。

 

2. 共享锁和排他锁

在InnoDB存储引擎中,锁的类型通常分为共享锁和排他锁。

共享锁(shared lock):也叫读锁(read lock),指多个请求在同一时刻可以同时读取同一个资源,互相不干扰。

排他锁(exclusive lock):也叫写锁(write lock)。一个写锁会阻塞其他的写锁和读锁,这样能确保一定的时间内,只有一个请求能执行写入操作,防止其他请求读取或写入同一资源。

示例1:

事务T1对某一行R1进行了共享锁的加锁操作时,事务T2也可以对此行R1进行共享锁的加锁操作,但事务T2不可以对此行R1进行排他锁操作。

示例2:

事务T1对某一行R1进行了排他锁的加锁操作时,事务T2不能对此行R1进行任一类型的锁的请求,事务T2必须等待事务T1释放对行R1的锁定才能进行后续的加锁操作。

 

3. 死锁

死锁是指多个事务在同一个资源上互相占用,并请求锁定对方占用的资源,从而导致恶性循环的现象。比如多个事务以不同的顺序锁定相同的资源就会产生死锁。

示例:

事务T1按顺序修改R1和R2行,事务T2按顺序修改R2和R1行,当2个事务同时执行,在执行第2行时发现此行都已经被别的事务进行了排他锁操作,就会陷入恶性循环中。

解决方案:

在InnoDB中的方案是将最少行级排他锁的事务进行回滚。

 

4. 参考资料

Innodb中的锁:https://dev.mysql.com/doc/refman/5.6/en/innodb-locking.html

 

您可能感兴趣的文档:

--结束END--

本文标题: MySQL 锁的一些简单概念

本文链接: https://lsjlt.com/news/4831.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • MySQL 锁的一些简单概念
    1. 锁的粒度  在MySQL中,只要有多个请求需要在同一时刻修改数据,都会产生并发控制的问题。而锁的作用可以保证同一资源能被某个请求唯一使用。 加锁是会消耗系统资源的,包括获得锁、检查锁是否已解除、释放锁等等操作,都会增加系统的...
    99+
    2020-05-02
    MySQL 锁的一些简单概念
  • 带你了解JAVA中的一些锁概念
    目录乐观锁和悲观锁读写锁重量解锁和轻量级锁自旋锁公平锁和非公平锁可重入锁和不可重入锁死锁CAS(compare and swap)比较并交换synchronized的锁升级过程总结乐...
    99+
    2024-04-02
  • mysql锁与会话的概念
    这篇文章主要介绍“mysql锁与会话的概念”,在日常操作中,相信很多人在mysql锁与会话的概念问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mysql锁与会话的概念”的疑惑...
    99+
    2024-04-02
  • MySQL中锁的概念是什么
    今天就跟大家聊聊有关MySQL中锁的概念是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。乐观锁乐观锁大多是基于数据版本记录机制实现,一般是给数据...
    99+
    2024-04-02
  • 一致性哈希概念与Python的简单实现
    好像从开始接触Zookeeper的时候就知道了有一致性哈希这东西。。。。不过倒是一直都没有去了解这到底是个啥东西。。。只是知道它在分布式系统设计中有十分重要的作用。。。。 好了,接下来用举例子的方式来说一下一致性哈希到底有啥用吧。。。场...
    99+
    2023-01-31
    概念 简单 一致性哈希
  • 让JavaScript开发更加简单的概念有哪些
    这篇文章主要讲解了“让JavaScript开发更加简单的概念有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“让JavaScript开发更加简单的概念有哪...
    99+
    2024-04-02
  • mysql锁机制的概念是什么
    本文小编为大家详细介绍“mysql锁机制的概念是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“mysql锁机制的概念是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。My...
    99+
    2024-04-02
  • 悲观锁,乐观锁的概念
    悲观锁:顾名思义,就是很悲观,它指的是对数据被外界(包括本系统当前的其他事务,以及来自其他事务,以及来自外部系统的事务处理)修改持保守态度,因此,在整个数据处理过程中,将数据处于锁定状态。悲观锁实现,往往依...
    99+
    2024-04-02
  • MySQL:一个简单insert语句的大概流程
    简单记录,可能有误,主要记录重要的接口以备后用。 ...
    99+
    2024-04-02
  • java中锁的概念是什么
    java中锁的概念是什么?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。python有哪些常用库python常用的库:1.requesuts;2.scrapy;3.pillow;...
    99+
    2023-06-14
  • Linux线程互斥锁的概念
    本篇内容介绍了“Linux线程互斥锁的概念”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在编程中,引入了对象互斥锁的概念,来保证共享数据操作...
    99+
    2023-06-15
  • java中乐观锁与悲观锁的概念
    这篇文章主要介绍“java中乐观锁与悲观锁的概念”,在日常操作中,相信很多人在java中乐观锁与悲观锁的概念问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”java中乐观锁与悲观锁的概念”的疑惑有所帮助!接下来...
    99+
    2023-06-19
  • CSS中尺寸单位的概念有哪些
    这篇文章主要介绍“CSS中尺寸单位的概念有哪些”,在日常操作中,相信很多人在CSS中尺寸单位的概念有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”CSS中尺寸单位的概念有...
    99+
    2024-04-02
  • MySQL中MTR的概念
        MTR全称是Mini-Transaction,顾名思义,可以理解为"最小的事务",MySQL中把对底层页面的一次原子访问的过程称之为一个Mini-Transaction,这里的原...
    99+
    2022-05-16
    MySQL MTR
  • MySQL视图的概念
    本篇内容主要讲解“MySQL视图的概念”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL视图的概念”吧!1、基本概念  视图本身是一张虚拟表,不存放任何数...
    99+
    2024-04-02
  • Mysql的基本概念
    一 . Mysql 的基本概念 1、数据(data) 描述事物的符号记录包括数字文字图形图像声音档案记录等以记录形式按同意的格式进行存储 2、表 将不同的记录组织在一起用来存储具体数据 3、数据库 ...
    99+
    2023-09-20
    mysql 数据库
  • Javasynchronized偏向锁的概念与使用
    目录一、什么是偏向锁二、偏向锁原理三、偏向锁演示四、偏向锁的处理流程五、偏向锁的撤销六、偏向锁的好处一、什么是偏向锁 HotSpot作者经过研究实践发现,在大多数情况下,锁不仅不存在...
    99+
    2023-02-13
    Java synchronized偏向锁 Java synchronized Java偏向锁
  • nodejs入门教程一:概念与用法简介
    本文实例讲述了nodejs概念与用法。分享给大家供大家参考,具体如下: 一. nodejs 的特点 1.nodejs 是一个javaScript 的运行平台,采用了Google Chrome浏览器的V8引擎...
    99+
    2022-06-04
    入门教程 概念 简介
  • ZooKeeper入门教程一简介与核心概念
    目录1、ZooKeeper介绍与核心概念1.1 简介1.2分布式系统面临的问题1、通过网络进行信息共享2、通过共享存储1.3 ZooKeeper如何解决分布式系统面临的问题1.4 z...
    99+
    2024-04-02
  • NIO的概念有哪些
    这篇文章主要介绍了NIO的概念有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇NIO的概念有哪些文章都会有所收获,下面我们一起来看看吧。缓冲区(Buffers) 新的 Buffer 类是常规 Java 类和...
    99+
    2023-06-17
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作