我的编程空间,编程开发者的网络收藏夹
学习永远不晚

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

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

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

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

MySQL的表级锁,行级锁,排它锁和共享锁

目录前言一、表级锁&行级锁二、排它锁&共享锁1. 测试不同事务之间排它锁和共享锁的兼容性2. 测试行锁加在索引项上三、串行化隔离级别测试前言如果我们和面试官聊到事务的问题,怎么回答呢?先说下事务是什么,因为我们业务是比较复杂的,不可能一
2022-07-14

MySQL的表级锁,行级锁,排它锁和共享锁是什么

这篇文章主要介绍“MySQL的表级锁,行级锁,排它锁和共享锁是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“MySQL的表级锁,行级锁,排它锁和共享锁是什么”文章能帮助大家解决问题。前言先说下事
2023-07-02

mysql行锁的优缺点有哪些

这篇文章给大家分享的是有关mysql行锁的优缺点有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1、行锁的优势:锁的粒度小,发生锁冲突的概率低;处理并发的能力强。在很多线程请求不同记录时减少冲突锁。事务回滚时
2023-06-15

mysql悲观锁的优缺点是什么

悲观锁是一种在数据操作前先获取锁,以防止其他事务对数据进行修改的方式。它的优缺点如下:优点:可以有效防止并发问题:悲观锁在操作数据前获取锁,确保操作的数据不会被其他事务修改,从而避免并发问题,确保数据的一致性和完整性。简单易用:悲观锁的
mysql悲观锁的优缺点是什么
2024-05-08

深入理解MySQL的行级锁

目录☃️概述☃️行级锁介绍☃️行锁❄️❄️介绍❄️❄️演示☃️间隙锁&临键锁☃️概述锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的计算资源(CPU、RAM、I/O)的争用以外,数据也是一种供许多用户共享的资源。
深入理解MySQL的行级锁
2024-09-10

MySQL的全局锁和表级锁的具体使用

目录前言全局锁表级锁表锁元数据锁(Metadata Locking,简称:MDL锁)总结参考资料前言在真实的企业开发环境中使用MySQL,MySQL肯定不会只有我一个人使用,而是一个团队显式的使用MySQL,或者是业务隐式的使用MySQL,
2022-05-13

深入理解MySQL中的行级锁

行级锁是MySQL中的一种并发控制机制,允许在同一时刻只允许一个事务访问数据库中的某一行记录,通过对特定行而非整个表进行锁定,可以提高并发性和性能。MySQL中有两种主要的行级锁类型:共享锁和排他锁。MySQL使用MVCC机制实现行级锁,并提供不同的隔离级别来指定行级锁的行为。使用注意事项包括死锁、锁升级、隔离级别影响和索引使用。最佳实践包括细粒度锁、适当的隔离级别、索引优化和监测锁争用。
深入理解MySQL中的行级锁
2024-04-02

mysql行级锁的实现原理是什么

MySQL行级锁的实现原理是通过两种方式来实现的:锁的粒度和锁的类型。锁的粒度:MySQL的行级锁是在InnoDB存储引擎中实现的,默认情况下使用的是Next-Key Lock,即在索引记录上的锁,包括行记录和索引记录,这样可以避免并发操
mysql行级锁的实现原理是什么
2024-04-09

如何实现MySQL底层优化:事务锁的高级性能优化和避免死锁的方法

如何实现MySQL底层优化:事务锁的高级性能优化和避免死锁的方法引言:在数据库系统中,事务锁是保证数据一致性和并发访问的重要机制之一。然而,在高并发场景下,事务锁可能会导致性能问题和死锁。为了提高MySQL性能,我们需要对事务锁进行高级性能
如何实现MySQL底层优化:事务锁的高级性能优化和避免死锁的方法
2023-11-08

MySQL插入锁与数据库性能调优的优先级

MySQL插入锁和数据库性能调优都是数据库优化的重要方面,但在进行优化时,需要根据具体情况和需求来确定优先级。一般来说,以下是一些常见的优先级排列:数据库性能调优:数据库性能调优是数据库优化的基础部分,通过对数据库的结构设计、索引优化、查询
MySQL插入锁与数据库性能调优的优先级
2024-08-14

编程热搜

目录