MySQL中鎖的相關(guān)問(wèn)題
鎖分類:
從對(duì)數(shù)據(jù)操作的粒度分 :
表鎖:操作時(shí),會(huì)鎖定整個(gè)表。行鎖:操作時(shí),會(huì)鎖定當(dāng)前操作行。
從對(duì)數(shù)據(jù)操作的類型分:
讀鎖(共享鎖):針對(duì)同一份數(shù)據(jù),多個(gè)讀操作可以同時(shí)進(jìn)行而不會(huì)互相影響。寫(xiě)鎖(排它鎖):當(dāng)前操作沒(méi)有完成之前,它會(huì)阻斷其他客戶端的

行表鎖特點(diǎn):

MyISAM 表鎖:
如何加表鎖
MyISAM 在執(zhí)行查詢語(yǔ)句(SELECT)前,會(huì)自動(dòng)給涉及的所有表加讀鎖,在執(zhí)行更新操作(UPDATE、DELETE、
INSERT 等)前,會(huì)自動(dòng)給涉及的表加寫(xiě)鎖,這個(gè)過(guò)程并不需要用戶干預(yù),因此,用戶一般不需要直接用 LOCK
TABLE 命令給 MyISAM 表顯式加鎖。

簡(jiǎn)而言之,就是讀鎖會(huì)阻塞寫(xiě),但是不會(huì)阻塞讀。而寫(xiě)鎖,則既會(huì)阻塞讀,又會(huì)阻塞寫(xiě)。
此外,MyISAM 的讀寫(xiě)鎖調(diào)度是寫(xiě)優(yōu)先,這也是MyISAM不適合做寫(xiě)為主的表的存儲(chǔ)引擎的原因。因?yàn)閷?xiě)鎖后,其
他線程不能做任何操作,大量的更新會(huì)使查詢很難得到鎖,從而造成永遠(yuǎn)阻塞。
InnoDB 行鎖
行鎖介紹
行鎖特點(diǎn) :偏向InnoDB 存儲(chǔ)引擎,開(kāi)銷大,加鎖慢;會(huì)出現(xiàn)死鎖;鎖定粒度最小,發(fā)生鎖沖突的概率最低,并發(fā)度
也最高。
InnoDB 與 MyISAM 的最大不同有三點(diǎn):一是支持事務(wù);二是 采用了行級(jí)鎖;支持外鍵。
事務(wù):
事務(wù)是由一組SQL語(yǔ)句組成的邏輯處理單元。
事務(wù)的四大特性(ACID):



到此這篇關(guān)于MySQL中鎖的相關(guān)問(wèn)題的文章就介紹到這了,更多相關(guān)MySQL鎖問(wèn)題內(nèi)容請(qǐng)搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!
版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。
關(guān)注官方微信