登录
首页 >  数据库 >  MySQL

mysql lock

来源:SegmentFault

时间:2023-01-13 14:43:35 185浏览 收藏

IT行业相对于一般传统行业,发展更新速度更快,一旦停止了学习,很快就会被行业所淘汰。所以我们需要踏踏实实的不断学习,精进自己的技术,尤其是初学者。今天golang学习网给大家整理了《mysql lock》,聊聊MySQL、Java,我们一起来看看吧!

intention lock 意向锁,表明有事务正在或者打算锁住一行记录
record lock行所,分为排他锁和共享锁
gap lock锁住索引之间的间隙
next key lock :record lock + gap lock

for example
id :0,5,10,15,20,25
unique,a
index,b
select * from performance_schema.data_locks;

id=10
index_namelock_typelock_modelock_statuslock_data
NULLTABLEIXGRANTEDNULL
PRIMARYRECORDX,REC_NOT_GAPGRANTED10
a=10
index_namelock_typelock_modelock_statuslock_data
NULLTABLEIXGRANTEDNULL
test_a_uindexRECORDX,REC_NOT_GAPGRANTED10, 10
PRIMARYRECORDX,REC_NOT_GAPGRANTED10
b=10
index_namelock_typelock_modelock_statuslock_data
NULLTABLEIXGRANTEDNULL
test_t_indexRECORDXGRANTED10, 10
PRIMARYRECORDX,REC_NOT_GAPGRANTED10
test_t_indexRECORDX,GAPGRANTED15, 15
id=11
index_namelock_typelock_modelock_statuslock_data
NULLTABLEIXGRANTEDNULL
PRIMARYRECORDX,GAPGRANTED15
a=11
index_namelock_typelock_modelock_statuslock_data
NULLTABLEIXGRANTEDNULL
test_a_uindexRECORDX,GAPGRANTED15, 15
b=11
index_namelock_typelock_modelock_statuslock_data
NULLTABLEIXGRANTEDNULL
test_t_indexRECORDX,GAPGRANTED15, 15
id>11
index_namelock_typelock_modelock_statuslock_data
NULLTABLEIXGRANTEDNULL
PRIMARYRECORDXGRANTED0
PRIMARYRECORDXGRANTED5
PRIMARYRECORDXGRANTED10
PRIMARYRECORDX,GAPGRANTED15
id
index_namelock_typelock_modelock_statuslock_data
NULLTABLEIXGRANTEDNULL
PRIMARYRECORDXGRANTED0
PRIMARYRECORDXGRANTED5
PRIMARYRECORDXGRANTED10
PRIMARYRECORDX,GAPGRANTED15

结论:
X:next key lock,也就是recordlock+ previous gap
x gap:previous gap
x rec not gap: rec

今天关于《mysql lock》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

声明:本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>
评论列表