latch 一般称为闩锁,目的是用来保证并发线程操作临界资源的正确性,无死锁检测机制。分为:mutex(互斥量),rwlock(读写锁)
lock 的对象是事务,用来锁定的数据库中的对象。
二.lock 种类
1.行级锁
共享锁(S lock):允许事务读取一行数据
排他锁(X lock):允许事务修改或删除一行数据
2.表级锁
意向共享锁(IS lock):在对行加S锁之前,先对其表追加IS锁
意向排他锁(IX lock):在对行加X锁之前,先对其表追加IX锁
表级意向锁和行级锁的兼容性:
三.锁的应用场景
1.一致性非锁定读
2.一致性锁定读
通过select * from table for update; 或 select * from table lock in share mode; 来锁定读取数据,在数据读取过程中其他事务不能修改该数据。
3.自增长与锁
含有自增长值的表,都有一个自增长计数器,当对该表进行插入操作时,执行如下语句来得到计数器的值。
select max(auto_inc_col) from table for update;
该锁不是事务完成之后才释放,而是insert命令执行完成后就释放该锁。
mysql5.1.22之前,该模式对于有自增值列的表的并发插入性能较差。
mysql5.1.22开始,innodb提供了一种轻量级的互斥量的自增长实现机制,这种机制大大提高了自增长值的插入性能。
相关参数,innodb_autoinc_lock_mode,默认值为1
4.外键和锁
在innodb存储引擎下,外键列如果没有显式的建立index,mysql会为该列自动添加index,避免发生表锁。
对于外键值的插入和更新,会先select父表,但该select操作并不是一致性非锁定读,而是一致性锁定读(对父表追加S锁)。因此当父表被其他事务加上X锁时,子表的操作会被阻塞。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
软考中级精品资料免费领
- 历年真题答案解析
- 备考技巧名师总结
- 高频考点精准押题
- 资料下载
- 历年真题
193.9 KB下载数265
191.63 KB下载数245
143.91 KB下载数1148
183.71 KB下载数642
644.84 KB下载数2756
相关文章
发现更多好内容- 如何在 Java 中创建 Maven 项目?(java怎么创建maven项目)
- 如何高效使用Uncomtrade数据库进行查询
- Java 配置环境变量后如何进行使用操作?(java配置环境变量后如何使用)
- Java 中防止接口重复提交的方法有哪些?(java接口防止重复提交的方法是什么)
- 如何提高 Java Office 的性能?(java office 怎样提高性能 )
- Java 抽象工厂模式的优缺点有哪些?(java抽象工厂模式有哪些优缺点)
- 在 Java 中,charsequence 的具体用法究竟是什么?(java中charsequence的用法是什么)
- 如何利用 Java Quarter 进行数据挖掘?(java quarter如何进行数据挖掘)
- Java 中常见的比较操作符有哪些?(Java比较操作符有哪些)
- 在 Java 中,Integer 究竟有哪些作用呢?(java中integer的作用是什么)
猜你喜欢
AI推送时光机mysql innodb lock机制原理
数据库2024-04-02
如何理解mysql innodb lock锁中的record lock
数据库2024-04-02
如何理解mysql Meta Lock 机制
数据库2024-04-02
InnoDB脏页刷新机制的原理
数据库2024-04-02
MySQL InnoDB检查点机制
数据库2024-04-02
MySQL中InnoDB锁机制分析
数据库2024-04-02
MySQL的InnoDB锁机制介绍
数据库2024-04-02
MySQL InnoDB之MVCC原理是什么
数据库2024-04-02
mysql中Innodb 行锁实现原理
数据库2024-10-21
Mysql MVCC机制原理详解
数据库2022-05-25
MySQL的InnoDB索引原理详解
数据库2022-05-18
MySQL&InnoDB锁机制全面解析
数据库2020-07-08
⑩⑧【MySQL】InnoDB架构、事务原理、MVCC多版本并发控制
数据库2023-12-22
MySQL Innodb索引机制详细介绍
数据库2024-04-02
Mysql InnoDB和MyISAM区别原理解析
数据库2022-05-25
mysql中innodb索引原理是什么
数据库2024-04-02
MySQL的innoDB锁机制以及死锁的处理方法
数据库2024-04-02
MySQL的锁机制原理介绍
数据库2024-04-02
咦!没有更多了?去看看其它编程学习网 内容吧