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

MySQL的锁机制原理介绍

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

北京

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

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

看不清楚,换张图片

免费获取短信验证码

MySQL的锁机制原理介绍

这篇文章主要讲解了“MySQL的锁机制原理介绍”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL的锁机制原理介绍”吧!

MySQL的锁有以下几种形式:
表级锁:开销小,加锁快,不会出现死锁,锁定粒度大,发生锁冲突的概率最高,并发度最低。MyISAM引擎属于这种类型。
行级所:开销大,加锁慢,会出现死锁,锁粒度最小,发生锁冲突的概率最低,并发度也最高。InnoDB引擎属于这种类型。
页面锁:开销和加锁时间介于表锁和行锁之间,会出现死锁,锁定粒度介于表锁和行锁之间,并发度一般,NDB属于这种类型。

表锁:
 MyISAM存储引擎只支持表锁,所以对MyISAM表进行操作,会存在以下情况:
1)对MyISAM表的读操作(加读锁),不会阻塞其他进程对同一表的读操作,但会阻塞对同一表的写请求,只有当读锁释放之后,才会执行其他进程的写操作。
2)对MyISAM表的写操作(加写锁),会阻塞其他进程对同一表的读和写操作,只有当写锁释放后,才会执行其他进程的读写操作。

行锁:
  InnoDB存储引擎是通过给索引上的索引项加锁来实现的,这就意味着:只有通过索引条件检索数据,InnoDB才会使用行级锁,否则,InnoDB将使用表锁。在并发访问比较高的情况下,如果大量事务因无法立即获得所需的锁而挂起,会占用,大量计算机资源,造成严重的性能问题,甚至拖垮数据库,这时需要设置合适的锁等待超时阈值参数InnoDB_lock_wait_timeout来解决,一般设置为100秒即可。

死锁:
  两个事务都需要获得对方持有的排他所才能继续完成事务,这种循环所等待就是典型的死锁。
发生死锁后,InnoDB一般都能自动检测到,他会让一个事务释放锁并回退,另一个事务色获得锁,继续完成事务。死锁是无法避免的,我们可以通过调整业务的逻辑来尽量减少死锁出现的概率。

感谢各位的阅读,以上就是“MySQL的锁机制原理介绍”的内容了,经过本文的学习后,相信大家对MySQL的锁机制原理介绍这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

免责声明:

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

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

MySQL的锁机制原理介绍

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

下载Word文档

猜你喜欢

Java反射机制的原理介绍

这篇文章主要介绍“Java反射机制的原理介绍”,在日常操作中,相信很多人在Java反射机制的原理介绍问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java反射机制的原理介绍”的疑惑有所帮助!接下来,请跟着小编
2023-06-17

MySQL锁机制在INSERT中的锁优化工具介绍

MySQL锁机制在INSERT中的锁优化工具是InnoDB引擎中的自动增长锁调优功能。在InnoDB引擎中,当一个表有自增长列,并且使用INSERT语句插入新记录时,会为这个表的自增长列添加一个锁,以确保不会出现并发插入导致自增长列出现重复
MySQL锁机制在INSERT中的锁优化工具介绍
2024-08-14

Redis分布式锁的实现原理介绍

这篇文章主要讲解了“Redis分布式锁的实现原理介绍”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Redis分布式锁的实现原理介绍”吧!一、写在前面现在面试,一般都会聊聊分布式系统这块的东西
2023-06-02

MySQL数据库锁机制原理解析

在并发访问情况下,很有可能出现不可重复读等等读现象。为了更好的应对高并发,封锁、时间戳、乐观并发控制(乐观锁)、悲观并发控制(悲观锁)都是并发控制采用的主要技术方式。 锁分类①、按操作划分:DML锁,DDL锁②、按锁的粒度划分:表级锁、行级
2022-05-21

MySQL新密码机制介绍caching_sha2_password

MySQL添加了对身份验证插件的支持,该插件现在称为mysql_native_password。该mysql_native_password插件使用SHA1哈希 将密码(SHA1(SHA1(password)))存储在mysql.user表中验证用户,该插件的
MySQL新密码机制介绍caching_sha2_password
2015-07-23

编程热搜

目录