|NO.Z.00155|——————————|BigDataEnd|——|Java&MySQL.高级.V27|——|MySQL.v28|锁分类|
一、MySQL的锁分类
### --- mysql锁分类
——> MySQL数据库由于其自身架构的特点,存在多种数据存储引擎,
——> MySQL中不同的存储引擎支持不同的锁机制。
——> MyISAM和MEMORY存储引擎采用的表级锁,
——> InnoDB存储引擎既支持行级锁,也支持表级锁,默认情况下采用行级锁。
——> BDB采用的是页面锁,也支持表级锁
### --- 按照数据操作的类型分
——> 读锁(共享锁):针对同一份数据,多个读操作可以同时进行而不会互相影响。
——> 写锁(排他锁):当前写操作没有完成前,它会阻断其他写锁和读锁。
### --- 按照数据操作的粒度分
——> 表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。
——> 行级锁: 开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高。
——> 页面锁:开销和加锁时间界于表锁和行锁之间;会出现死锁;锁定粒度界于表锁和行锁之间,并发度一般
### --- 按照操作性能可分为乐观锁和悲观锁
——> # 乐观锁:一般的实现方式是对记录数据版本进行比对,
——> 在数据更新提交的时候才会进行冲突检测,如果发现冲突了,则提示错误信息。
——> # 悲观锁:在对一条数据修改的时候,为了避免同时被其他人修改,
——> 在修改数据之前先锁定,再修改的控制方式。
——> 共享锁和排他锁是悲观锁的不同实现,但都属于悲观锁范畴。
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
——W.S.Landor
分类:
bdv005-mysql
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」