返回顶部
首页 > 资讯 > 数据库 >Mysql行级锁和页级锁的优缺点
  • 425
分享到

Mysql行级锁和页级锁的优缺点

2024-04-02 19:04:59 425人浏览 八月长安
摘要

本篇内容介绍了“Mysql行级锁和页级锁的优缺点”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!    如果

本篇内容介绍了“Mysql行级和页级锁的优缺点”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

  
  如果想要在一个表上做大量的 INSERT 和 SELECT 操作,但是并行的插入却不可能时,可以将记录插入到临时表中,然后定期将临时表中的数据更新到实际的表里。可以用以下命令实现:
  
  mysql
  
  >
  
  LOCK TABLES real_table WRITE, insert_table WRITE;
  
  mysql
  
  >
  
  INSERT INTO real_table SELECT * FROM insert_table;
  
  mysql
  
  >
  
  TRUNCATE TABLE insert_table;
  
  mysql
  
  >
  
  UNLOCK TABLES;
  
  InnoDB 使用Mysql行级锁锁,BDB 使用页级锁。对于 InnoDB 和 BDB 存储引擎来说,是可能产生死锁的。这是因为 InnoDB 会自动捕获行锁,BDB 会在执行 SQL 语句时捕获页锁的,而不是在事务的开始就这么做。
  
  Mysql行级锁锁的优点有:
  
  在很多线程请求不同记录时减少冲突锁。
  
  事务回滚时减少改变数据。
  
  使长时间对单独的一行记录加锁成为可能。
  
  Mysql行级锁锁的缺点有:
  
  比页级锁和表级锁消耗更多的内存。
  
  当在大量表中使用时,比页级锁和表级锁更慢,因为他需要请求更多的所资源。
  
  当需要频繁对大部分数据做 GROUP BY 操作或者需要频繁扫描整个表时,就明显的比其它锁更糟糕。
  
  使用更高层的锁的话,就能更方便的支持各种不同的类型应用程序,因为这种锁的开销比行级锁小多了。
  
  表级锁在下列几种情况下比页级锁和行级锁更优越:
  
  很多操作都是读表。
  
  在严格条件的索引上读取和更新,当更新或者删除可以用单独的索引来读取得到时:
  
  UPDATE tbl_name SET
  
  column   =   value
  
  WHERE
  
  unique_key_col   =   key_value   ;
  
  DELETE FROM tbl_name WHERE
  
  unique_key_col   =   key_value   ;
  
  SELECT 和 INSERT 语句并发的执行,但是只有很少的 UPDATE 和 DELETE 语句。
  
  很多的扫描表和对全表的 GROUP BY 操作,但是没有任何写表。
  
  表级锁和行级锁或页级锁之间的不同之处还在于:
  
  将同时有一个写和多个读的地方做版本(例如在MySQL中的并发插入)。也就是说,数据库/表支持根据开始访问数据时间点的不同支持各种不同的试图。其它名有:时间行程,写复制,或者是按需复制。

“Mysql行级锁和页级锁的优缺点”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

您可能感兴趣的文档:

--结束END--

本文标题: Mysql行级锁和页级锁的优缺点

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

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

猜你喜欢
  • Mysql行级锁和页级锁的优缺点
    本篇内容介绍了“Mysql行级锁和页级锁的优缺点”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!    如果...
    99+
    2024-04-02
  • Mysql锁之行级锁和表级意向锁
    Innodb存储引擎实现了两种行级锁: l   共享锁 l   排他锁 这两种锁之间的兼容关系如下图所示 共享锁 排他锁 ...
    99+
    2024-04-02
  • MySQL的表级锁,行级锁,排它锁和共享锁
    目录前言一、表级锁&行级锁二、排它锁&共享锁1. 测试不同事务之间排它锁和共享锁的兼容性2. 测试行锁加在索引项上三、串行化隔离级别测试前言 如果我们和面试官聊到事务的问题,怎么回答呢? 先说下事务是什么...
    99+
    2022-07-14
    MySQL表级锁 MySQL行级锁 MySQL排它锁 MySQL共享锁
  • mysql数据库中行级锁、表级锁和页级锁的区别是什么
    这篇文章主要介绍了mysql数据库中行级锁、表级锁和页级锁的区别是什么,具有一定借鉴价值,需要的朋友可以参考下。下面就和我一起来看看吧。按粒度可以分为:1、行级锁,MySQL中锁定粒度最细的一种锁,表示只针...
    99+
    2024-04-02
  • MySql的行级锁和表级锁是怎样的
    MySql的行级锁和表级锁是怎样的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。 MySql 行级锁 表级锁如何保...
    99+
    2024-04-02
  • MySQL的表级锁,行级锁,排它锁和共享锁是什么
    这篇文章主要介绍“MySQL的表级锁,行级锁,排它锁和共享锁是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“MySQL的表级锁,行级锁,排它锁和共享锁是什么”文章能帮助大家解决问题。前言先说下事...
    99+
    2023-07-02
  • mysql行锁的优缺点有哪些
    这篇文章给大家分享的是有关mysql行锁的优缺点有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1、行锁的优势:锁的粒度小,发生锁冲突的概率低;处理并发的能力强。在很多线程请求不同记录时减少冲突锁。事务回滚时...
    99+
    2023-06-15
  • MySQL中的行级锁
    行级锁的类型主要有三类: Record Lock,记录锁,也就是仅仅把一条记录锁上;Gap Lock,间隙锁,锁定一个范围,但是不包含记录本身,只存在于可重复读隔离级别,目的是为了解决可重复读隔离级别下幻读的现象Next-Key Lock:...
    99+
    2023-09-03
    mysql sqlserver 数据库
  • MySQL行级锁测试
        MySQL innodb存储引擎使用与Oracle相同的行锁机制,对如何查看系统中存在的行锁情况在下面的实验中将会看到。下面是测试过程: session 1:更新...
    99+
    2024-04-02
  • mysql锁之三种行级锁介绍
    本文主要介绍 1.mysql三种行锁介绍 2.RR模式下,next-key lock为什么可以解决幻读问题 首先,创建一张表: mysql> show create table test0...
    99+
    2024-04-02
  • mysql行级锁的工作原理
    小编给大家分享一下mysql行级锁的工作原理,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!mysql行级锁实现原理:1、Inno...
    99+
    2024-04-02
  • MySQL中行锁、页锁和表锁的实际应用
    下面一起来了解下MySQL中行锁、页锁和表锁的实际应用,相信大家看完肯定会受益匪浅,文字在精不在多,希望MySQL中行锁、页锁和表锁的实际应用这篇短内容是你想要的。 MySQL中按照锁的粒度可以细...
    99+
    2024-04-02
  • mysql悲观锁的优缺点是什么
    悲观锁是一种在数据操作前先获取锁,以防止其他事务对数据进行修改的方式。它的优缺点如下: 优点: 可以有效防止并发问题:悲观锁在操作...
    99+
    2024-05-08
    mysql
  • MySQL知识点之InnoDB中的行级锁是什么
    今天小编给大家分享一下MySQL知识点之InnoDB中的行级锁是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下...
    99+
    2024-04-02
  • Mysql中行级锁的示例分析
    小编给大家分享一下Mysql中行级锁的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! 我们首...
    99+
    2024-04-02
  • MySQL的全局锁和表级锁的具体使用
    目录前言全局锁表级锁表锁元数据锁(Metadata Locking,简称:MDL锁)总结参考资料前言 在真实的企业开发环境中使用MySQL,MySQL肯定不会只有我一个人使用,而是一个团队显式的使用MySQL,或者...
    99+
    2022-05-13
    MySQL 全局锁 MySQL 表级锁
  • MySQL中怎么实现行级锁
    这篇文章给大家介绍MySQL中怎么实现行级锁,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。  MySQL行级锁怎么实现  mysql>LOCKTABLESreal_tableWR...
    99+
    2024-04-02
  • Mariadb之显式使用表锁和行级锁 - Linux
    首先我们来看看mariadb的锁定概念,所谓锁就是当一个进程或事务在操作某一资源时,为了防止其他用户或者进程或事务对其进行资源操作,导致资源抢占而发生冲突,通常在A进程操作该资源时,会对该资源进行加锁,实现多进程或多用户...
    99+
    2019-01-08
    Mariadb之显式使用表锁和行级锁 - Linux
  • MYSQL中怎么实现伪行级锁
    本篇文章给大家分享的是有关MYSQL中怎么实现伪行级锁,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。 一.数据准备mysql>...
    99+
    2024-04-02
  • MySql类型转换导致行锁升级为表锁的示例
    小编给大家分享一下MySql类型转换导致行锁升级为表锁的示例,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!在MySql的写语句中,给表列赋值与表类型不符合时,MySql底层的优化器发挥作用...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作