摘要:表級(jí)鎖的表級(jí)別鎖包含五種鎖模式以及鎖,鎖之間的相容性遵循數(shù)組中的定義。表級(jí)鎖的目的是為了防止和的并發(fā)問題。意向鎖是表級(jí)別的,和鎖之間相互并不沖突,但與表級(jí)鎖沖突。
鎖類型 行級(jí)鎖
鎖模式只有LOCK_S 和LOCK_X,其他的 FLAG 用于鎖的描述,如前述 LOCK_GAP、LOCK_REC_NOT_GAP 以及 LOCK_ORDINARY、LOCK_INSERT_INTENTION 四種描述。
LOCK_REC_NOT_GAP LOCK_GAP LOCK_ORDINARY(Next-Key Lock) LOCK_INSERT_INTENTIONstatic const byte lock_compatibility_matrix[5][5] = { /** IS IX S X AI / / IS / { TRUE, TRUE, TRUE, FALSE, TRUE}, / IX / { TRUE, TRUE, FALSE, FALSE, TRUE}, / S / { TRUE, FALSE, TRUE, FALSE, FALSE}, / X / { FALSE, FALSE, FALSE, FALSE, FALSE}, / AI / { TRUE, TRUE, FALSE, FALSE, FALSE} };
對(duì)于GAP類型(鎖對(duì)象建立在supremum上或者申請(qǐng)的鎖類型為L(zhǎng)OCK_GAP)且申請(qǐng)的不是插入意向鎖時(shí),無需等待任何鎖,這是因?yàn)椴煌琒ession對(duì)于相同GAP可能申請(qǐng)不同類型的鎖,而GAP鎖本身設(shè)計(jì)為不互相沖突;
LOCK_ORDINARY 或者LOCK_REC_NOT_GAP類型的鎖對(duì)象,無需等待LOCK_GAP類型的鎖;
LOCK_GAP類型的鎖無需等待LOCK_REC_NOT_GAP類型的鎖對(duì)象;
任何鎖請(qǐng)求都無需等待插入意向鎖。
InnoDB的表級(jí)別鎖包含五種鎖模式:LOCK_IS、LOCK_IX、LOCK_X、LOCK_S以及LOCK_AUTO_INC鎖,鎖之間的相容性遵循數(shù)組lock_compatibility_matrix中的定義。
InnoDB表級(jí)鎖的目的是為了防止DDL和DML的并發(fā)問題。但從5.5版本開始引入MDL鎖后,InnoDB層的表級(jí)鎖的意義就沒那么大了,MDL鎖本身已經(jīng)覆蓋了其大部分功能。
意向鎖是表級(jí)別的,IS和IX鎖之間相互并不沖突,但與表級(jí)S/X鎖沖突。
在對(duì)記錄加S鎖或者X鎖時(shí),必須保證其在相同的表上有對(duì)應(yīng)的意向鎖或者鎖強(qiáng)度更高的表級(jí)鎖。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/17908.html
摘要:幻讀在一個(gè)事務(wù)中,同一個(gè)范圍內(nèi)的記錄被讀取時(shí),其他事務(wù)向這個(gè)范圍添加了新的記錄。分布式事物提供訪問事物資源的方法協(xié)調(diào)參與全局事物中的各個(gè)事物定義事物的便捷,指定全局事物中的操作 事物基本概念 事物的特性(ACID) 原子性 atomicity 一致性 consistency 隔離性 isolation 持久性 durability 事物的類型 扁平事物 帶有保存點(diǎn)的扁平事物 鏈?zhǔn)挛?...
閱讀 3018·2021-11-17 09:33
閱讀 3185·2021-11-16 11:52
閱讀 548·2021-09-26 09:55
閱讀 3036·2019-08-30 15:52
閱讀 1372·2019-08-30 15:44
閱讀 1309·2019-08-30 13:59
閱讀 859·2019-08-30 13:08
閱讀 1230·2019-08-30 10:50