中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL中常見鎖

發布時間:2020-05-25 16:23:15 來源:億速云 閱讀:219 作者:鴿子 欄目:MySQL數據庫

1.MySQL服務器邏輯架構

      圖片來源:MySQL官網
      MySQL中常見鎖
      每個連接都會在MySQL服務端產生一個線程(內部通過線程池管理線程)。比如:一個select語句進入,MySQL首先會在查詢緩存中查找是否緩存了這個select結果集,如果沒有則繼續執行解析→優化→執行得過程;否則直接從緩存中獲取結果集。

2.MySQL鎖

共享鎖與排他鎖(Shared and Exclusive Locks)

      共享鎖和排他鎖都是標準的行級鎖
      1)共享鎖S:標準的讀鎖,讀鎖允許多個連接可以同一時刻并發讀取同一資源,互不干擾。
      2)排他鎖X:又稱寫鎖,一個寫鎖會阻塞其他的寫鎖或讀鎖,保證同一個時刻只有一個連接可以寫入數據,同時防止其他用戶對這個數據的讀寫

鎖類型英文名又稱同一時刻共同點
共享鎖SShared Locks讀鎖同一時刻,允許多個連接并發的讀取同一資源,互不干擾。兩者都是鎖機制本身的策略,通過這兩種策略對鎖進行了區分
排他鎖XExclusive Locks 寫鎖同一時刻只有一個連接可以寫入數據,同時防止其他用戶對這個數據的讀寫。同上
2.2意向鎖(Intention Locks)

      背景:多粒度鎖的并存場景。
      InnoDB支持多粒度鎖(鎖粒度:可分為行鎖表鎖),允許行鎖和表鎖共存。為了實現多粒度級別的鎖定,InnoDB使用了意圖鎖。
      意向鎖表級別的鎖。先提前聲明的一個意向,并獲取表級別的意向鎖(共享意向鎖IS或排他意向鎖IX),如果獲取成功,則稍后將要或正在(才被允許),對該表的某些行加鎖(S或X)了。
      注意:除了LOCK TABLES...WRITE,會鎖住表中的所有行,其他場景意向鎖實際鎖不住任何行。
      意向協議鎖:在事務能夠獲取表中的行上的共享鎖之前,他必須首先獲取表上的IS鎖或更強的鎖。在事務能夠獲取表中的行上的獨占鎖之前,它必須首先獲取表上的IX鎖
      意向鎖實現的背景是多粒度鎖的并存場景,兼容性如下:

XIXSIS
XConflictConflictConflictConflict
IXConflictCompatibleConflictCompatible
SConflictConflictCompatibleCompatible
ISConflictCompatibleCompatibleCompatible

      Conflict:互斥
      Compatible:兼容
      意向鎖僅表示意向,是一種較弱的鎖,意向鎖之間兼容并行(IS,IX之間兼容并行)。X與IS,IX互斥,S與IX互斥。意向鎖是比X/S更弱的鎖,存在一種預判的意義。先獲取更弱的IS,IX鎖,如果獲取失敗就不必再獲取更強S,X鎖。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

栾川县| 绥阳县| 昆明市| 宽城| 礼泉县| 大关县| 竹溪县| 武宁县| 北海市| 旬邑县| 资源县| 南皮县| 盐边县| 怀远县| 乡城县| 华安县| 天门市| 石阡县| 盐山县| 曲周县| 汕尾市| 施甸县| 永登县| 山东省| 平舆县| 昌乐县| 陆丰市| 胶州市| 杨浦区| 南康市| 五台县| 苗栗市| 大名县| 泰宁县| 新疆| 香河县| 正宁县| 海城市| 海原县| 康马县| 汤原县|