MySQL 中有哪几种锁?

server/2024/11/26 19:33:22/
  1. 表锁(Table Locks)

    • 描述:表锁是锁定整个表,防止其他事务对表进行修改。
    • 类型
      • 共享锁(Shared Locks):允许多个事务同时读取表中的数据,但不允许写操作。
      • 排他锁(Exclusive Locks):只允许一个事务对表进行写操作,阻止其他事务的读和写操作。
  2. 行锁(Row Locks)

    • 描述:行锁是锁定表中的特定行,而不是整个表。
    • 类型
      • 共享锁(Shared Locks):允许多个事务读取同一行数据,但不能修改。
      • 排他锁(Exclusive Locks):禁止其他事务读取或修改同一行数据。
  3. 页锁(Page Locks)

    • 描述:页锁锁定数据库表中的一个页(通常是4KB大小)。
    • 用途:页锁主要用于BDB存储引擎,InnoDB存储引擎不使用页锁。
  4. 意向锁(Intention Locks)

    • 描述:意向锁是InnoDB存储引擎中的一种内部锁机制,用于协调不同粒度的锁。
    • 类型
      • 意向共享锁(Intention Shared Locks, IS):事务打算在表的某几行上加共享锁。
      • 意向排他锁(Intention Exclusive Locks, IX):事务打算在表的某几行上加排他锁。
  5. 全局锁(Global Locks)

    • 描述:全局锁锁定整个数据库实例。
    • 用途:主要用于数据库的备份和恢复操作,如FLUSH TABLES WITH READ LOCK
  6. 元数据锁(Metadata Locks, MDL)

    • 描述:元数据锁锁定表或索引的元数据,以防止在DML操作(如INSERT、UPDATE、DELETE)期间修改表结构。
    • 类型
      • 共享元数据锁(Shared Metadata Locks):允许多个事务同时读取元数据。
      • 排他元数据锁(Exclusive Metadata Locks):只允许一个事务修改元数据。

这些锁的类型和用途不同,但共同目的是确保在并发环境中数据的一致性和完整性。InnoDB存储引擎默认使用行级锁,因为它提供了比表锁更高的并发性和更好的性能。


http://www.ppmy.cn/server/145133.html

相关文章

html+js实现图片的放大缩小等比缩放翻转,自动播放切换,顺逆时针旋转

效果图&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>图片预览</title><sty…

Stable Diffusion入门教程

要入门Stable Diffusion&#xff0c;你可以按照以下步骤进行&#xff1a; 1. 安装Stable Diffusion 获取安装包&#xff1a;你可以从GitHub上的 Stable Diffusion Web UI开源地址获取安装包。 一键启动程序包&#xff1a;如果你是小白不会装&#xff0c;可以使用国内秋葉aaaki开…

Leetcode148. 排序链表(HOT100)

链接 我写的错误代码&#xff1a; class Solution { public:ListNode* sortList(ListNode* head) {if (!head || !head->next)return head;ListNode* fast head;ListNode* slow head;while (fast&&fast->next) {fast fast->next->next;slow slow->…

Spring Boot 3.0废弃了JavaEE,改用了Jakarta EE

Spring Boot 3.0废弃了JavaEE&#xff0c;改用了Jakarta EE 历史背景 javax变成Jakarta的主要原因是因为Java EE项目从Oracle转移到了Eclipse Foundation&#xff0c;并改名为Jakarta EE。 JavaEE是从Java 1.2版本开始推出的Java企业级开发平台&#xff0c;最初的名称是J2EE(J…

电脑的ip地址怎么换掉:全面指南

在数字化时代&#xff0c;电脑已成为我们日常生活和工作中不可或缺的一部分。而IP地址&#xff0c;作为电脑在网络世界中的唯一身份标识&#xff0c;其重要性不言而喻。有时&#xff0c;出于安全、隐私或访问特定资源的需要&#xff0c;我们可能需要更换电脑的IP地址。本文将详…

React表单联动

Ant Design 1、dependencies Form.Item 可以通过 dependencies 属性&#xff0c;设置关联字段。当关联字段的值发生变化时&#xff0c;会触发校验与更新。 一种常见的场景&#xff1a;注册用户表单的“密码”与“确认密码”字段。“确认密码”校验依赖于“密码”字段&#x…

簡單易懂:如何在Windows系統中修改IP地址?

無論是為了連接到一個新的網路&#xff0c;還是為了解決網路連接問題&#xff0c;修改IP地址都是一個常見的操作。本文將詳細介紹如何在Windows系統中修改IP地址&#xff0c;包括靜態IP地址的設置和動態IP地址的獲取。 IP地址是什麼&#xff1f; IP地址是互聯網協議地址的簡稱…

【 模型】 开源图像模型Stable Diffusion入门手册

开源图像模型Stable Diffusion入门手册 引言硬件要求环境部署手动部署整合包 模型装配更新显存优化插件配置文生图最简流程提示词使用技巧结语 引言 Stable Diffusion是一款在2022年发布的深度学习文字到图像生成模型。它能够根据文字描述生成详细的图像&#xff0c;并且在几秒…