运城软件开发mysql锁都有哪些类型


[日期:2021-03-29 02:16]   来源:    阅读:

锁的应用在软件开发项目中是一个非常常见的功能,而今天我们就通过案例分析来了解一下,mysql锁都有哪些类型。

运城软件开发mysql锁都有哪些类型

表锁

表锁,锁定的粒度是整个表,也分共享锁和排他锁。不同于行锁,表锁MySQLServer层就有实现(所以MyISAM支持表锁,也只支持表锁),innoDb则在存储引擎层面也实现了一遍表锁(后面会介绍具体结构)。

意向锁

意向锁是一种特殊的表级锁,意向锁是为了让InnoDB多粒度的锁能共存而设计的。取得行的共享锁和排他锁之前需要先取得表的意向共享锁(IS)和意向排他锁(IX),意向共享锁和意向排他锁都是系统自动添加和自动释放的,整个过程无需人工干预。

自增锁

自增锁是一种特殊的表级别锁,如果一个表的某个行具有AUTO_INCREMENT的列,则一个事务在插入记录到这个表的时候,会先获取自增锁。

行锁

Innodb中的行锁种类繁多,可以分为:记录锁(recordlocks)、间隙锁(gaplocks)、临键锁(next-keylocks),插入意向锁(insertintentionlocks)。行锁在逻辑上都可以看作作用于索引或者索引间隙之上,索引分为主键索引和非主键索引两种,如果一条sql语句操作了主键索引,MySQL就会锁定这条主键索引;如果一条语句操作了非主键索引,MySQL会先锁定该非主键索引,再锁定相关的主键索引。

希望这辈子,最让你无悔的事情就是来达内学习!学习向来不是件易事,但无论过程多么艰难,希望你依然热爱生活,热爱学习!永远记得,达内将与你一同前行!现在扫码,立即领取万元课程礼包,助力0基础快速入行,为你梳理行业必备技能,全方位了解岗位发展前景!

【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请在707945861群中学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。


友情链接: