小編給大家分享一下Mysql-InnoDB鎖的示例分析,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
成都創(chuàng)新互聯(lián)是一家專注于成都網(wǎng)站建設(shè)、做網(wǎng)站與策劃設(shè)計(jì),長泰網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十載,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:長泰等地區(qū)。長泰做網(wǎng)站價(jià)格咨詢:18980820575鎖類型
行級(jí)鎖
鎖模式只有LOCK_S 和LOCK_X,其他的 FLAG 用于鎖的描述,如前述 LOCK_GAP、LOCK_REC_NOT_GAP 以及 LOCK_ORDINARY、LOCK_INSERT_INTENTION 四種描述。(相關(guān)推薦:MySQL教程)
LOCK_REC_NOT_GAP
LOCK_GAP
LOCK_ORDINARY(Next-Key Lock)
LOCK_INSERT_INTENTION
static 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)的鎖類型為LOCK_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)求都無需等待插入意向鎖。
表級(jí)鎖
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í)鎖。
看完了這篇文章,相信你對(duì)Mysql-InnoDB鎖的示例分析有了一定的了解,想了解更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)網(wǎng)站制作公司行業(yè)資訊頻道,感謝各位的閱讀!
分享文章:Mysql-InnoDB鎖的示例分析-創(chuàng)新互聯(lián)
轉(zhuǎn)載注明:http://vcdvsql.cn/article22/jjejc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機(jī)網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、網(wǎng)站導(dǎo)航、定制開發(fā)、響應(yīng)式網(wǎng)站、網(wǎng)站營銷
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容