关于java:mysql-lock

55次阅读

共计 1315 个字符,预计需要花费 4 分钟才能阅读完成。

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

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<=11
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

正文完
 0