MySQL中锁的相关问题

作者:也许今天 时间:2024-01-13 09:49:33 

锁分类:

从对数据操作的粒度分 :

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

从对数据操作的类型分:

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

MySQL中锁的相关问题


行表锁特点:

MySQL中锁的相关问题


MyISAM 表锁:

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

MySQL中锁的相关问题

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

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


InnoDB 行锁

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

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

事务的四大特性(ACID):

MySQL中锁的相关问题
MySQL中锁的相关问题

MySQL中锁的相关问题

来源:https://blog.csdn.net/weixin_43572928/article/details/122132181

标签:MySQL,锁
0
投稿

猜你喜欢

  • asp如何创建Word 文件?

    2009-11-14 20:47:00
  • 如何使用Python基于接口编程的方法实现

    2023-12-24 20:15:41
  • Python爬虫实现百度图片自动下载

    2021-07-12 22:42:56
  • JS将数字转换成三位逗号分隔的样式(示例代码)

    2024-05-02 16:26:59
  • keras打印loss对权重的导数方式

    2023-05-17 18:21:11
  • php统计数组不同元素的个数的实例方法

    2023-06-11 23:04:59
  • Linux下利用python实现语音识别详细教程

    2022-07-13 15:11:55
  • Python如何生成树形图案

    2022-11-17 03:39:58
  • Python初识二叉树续之实战binarytree

    2021-04-05 22:22:51
  • Python文件操作之二进制文件详解

    2021-10-23 16:44:47
  • Python实现二叉树的最小深度的两种方法

    2022-05-24 03:30:17
  • Vue实现通知或详情类弹窗

    2024-05-29 22:45:06
  • javascript中的面向对象

    2024-04-18 10:54:33
  • python中if的基础用法(if else和if not)

    2021-02-01 01:56:18
  • 在php7中MongoDB实现模糊查询的方法详解

    2023-09-04 12:30:00
  • 将pytorch的网络等转移到cuda

    2023-08-10 08:33:46
  • PHP之使用swoole统计在线人数和ID案例讲解

    2023-06-21 21:12:57
  • 图文详解laravel多对多关联模型

    2023-06-12 22:21:34
  • 利用python爬取有道词典的方法

    2021-07-08 04:42:05
  • 重命名批处理python脚本

    2021-04-27 22:56:38
  • asp之家 网络编程 m.aspxhome.com