死鎖意思:兩個人都在等廁所,以為廁所有人用,但廁所實際上沒人用

排他鎖:我有這個鎖別人不能讀select不能改update,在update語句時自動加上

共享鎖:select自動鎖上,可以有很多session對同一個record鎖上共享鎖,但有其他session要更新資源要等全部共享鎖釋放,目的是update 和select的隔離

 

更新鎖:一個事務select ..for update再update, ,意思是這個session先取得由讀到寫的資格,但別人還是可以讀,不會造成死鎖

意向锁 :一個事實,當表中有一列被加排他鎖時就不能對全表鎖,但要如何知道有沒有就要一列一列找,但實際db運作是加排他鎖也加意向鎖,這個要全表鎖的query不用再一條一條找,只要等待

 

 

---

樂觀鎖:不加lock加版本號欄位,每次更改都需要確認版本號 select ....  update..where =id

實作在應用程式層而不是sql,當別的應用程式app沒寫這個邏輯的話,會造成髒數據

悲觀:就是加lock

 

arrow
arrow
    全站熱搜

    學習程式 發表在 痞客邦 留言(0) 人氣()