MySQL中锁的相关问题

 更新时间:2021年12月25日 11:24:18   作者:也许今天  
这篇文章主要介绍了MySQL中锁的相关问题,本文给大家介绍了从对数据操作的粒度分 ,从对数据操作的类型分,给大家介绍的非常详细,需要的朋友可以参考下

锁分类:

从对数据操作的粒度分 :

表锁:操作时,会锁定整个表。行锁:操作时,会锁定当前操作行。

从对数据操作的类型分:

读锁(共享锁):针对同一份数据,多个读操作可以同时进行而不会互相影响。写锁(排它锁):当前操作没有完成之前,它会阻断其他客户端的

在这里插入图片描述


行表锁特点:

在这里插入图片描述


MyISAM 表锁:

如何加表锁
MyISAM 在执行查询语句(SELECT)前,会自动给涉及的所有表加读锁,在执行更新操作(UPDATE、DELETE、
INSERT 等)前,会自动给涉及的表加写锁,这个过程并不需要用户干预,因此,用户一般不需要直接用 LOCK
TABLE 命令给 MyISAM 表显式加锁。

在这里插入图片描述

简而言之,就是读锁会阻塞写,但是不会阻塞读。而写锁,则既会阻塞读,又会阻塞写。

此外,MyISAM 的读写锁调度是写优先,这也是MyISAM不适合做写为主的表的存储引擎的原因。因为写锁后,其
他线程不能做任何操作,大量的更新会使查询很难得到锁,从而造成永远阻塞。


InnoDB 行锁

行锁介绍
行锁特点 :偏向InnoDB 存储引擎,开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度
也最高。
InnoDB 与 MyISAM 的最大不同有三点:一是支持事务;二是 采用了行级锁;支持外键。

事务:
事务是由一组SQL语句组成的逻辑处理单元。

事务的四大特性(ACID):

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

到此这篇关于MySQL中锁的相关问题的文章就介绍到这了,更多相关MySQL锁问题内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • MySQL中的全表扫描和索引树扫描 的实例详解

    MySQL中的全表扫描和索引树扫描 的实例详解

    这篇文章主要介绍了MySQL中的全表扫描和索引树扫描 ,从本文的学习可以轻松的知道,全表扫描的效率相比于索引树扫描相对较低一点,但是差距不是很大,具体示例代码详解跟随小编一起看看吧
    2022-05-05
  • MySQL内存表的特性与使用介绍

    MySQL内存表的特性与使用介绍

    临时表和内存表都可以人工创建,但临时表更多的作用是系统自己创建后,组织数据以提升性能,如子查询,临时表在多个连接之间不能共享。这里只讨论内存表
    2013-02-02
  • 浅谈mysql explain中key_len的计算方法

    浅谈mysql explain中key_len的计算方法

    下面小编就为大家带来一篇浅谈mysql explain中key_len的计算方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04
  • MySQL 8.0.26版本升级32版本查询数据为空的解决方案

    MySQL 8.0.26版本升级32版本查询数据为空的解决方案

    这篇文章主要介绍了MySQL 8.0.26版本升级32版本查询数据为空的跟踪,本文给大家分享两种解决方法,结合实例代码给大家介绍的非常详细,需要的朋友参考下吧
    2024-03-03
  • Mysql表的约束超详细讲解

    Mysql表的约束超详细讲解

    MySQL唯一约束(Unique Key)是指所有记录中字段的值不能重复出现。例如,为 id 字段加上唯一性约束后,每条记录的 id 值都是唯一的,不能出现重复的情况
    2022-09-09
  • mysql创建表的sql语句详细总结

    mysql创建表的sql语句详细总结

    在本篇文章里小编给大家整理的是关于mysql创建表的sql语句的相关知识点,需要的朋友们可以参考下。
    2020-02-02
  • MySQL全量备份的实现

    MySQL全量备份的实现

    全量备份是MySQL数据库备份的常见方式,本文主要介绍了MySQL全量备份的实现,全量备份和增量备份是 MySQL 数据库备份的两种常见方式
    2024-04-04
  • MySQL中使用序列Sequence的方式总结

    MySQL中使用序列Sequence的方式总结

    序列是一组整数如1,2,3,...为了在需要时生成的,这篇文章主要给大家介绍了关于MySQL中使用序列Sequence的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-09-09
  • Mysql之如何实现行列转换

    Mysql之如何实现行列转换

    这篇文章主要介绍了Mysql之如何实现行列转换问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • MySql中modify、rename、change的使用及区别

    MySql中modify、rename、change的使用及区别

    这篇文章主要介绍了MySql中modify、rename、change的使用及区别,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06

最新评论