一、鎖分類
二、意向鎖
1、意向鎖屬於表鎖,用於行鎖和表鎖共存。
2、當獲取行鎖時,mysql會隱式的獲得意向鎖
3、作用:當需要獲得表鎖時,可以判斷是否有事務已經獲得意向鎖而不必遍歷所有索引查看具體被誰占用。
三、行鎖
MySQL行鎖鎖的是索引而不是實際的數據行。
四、InnoDB死鎖解決
1、選擇小的事務。
2、設置參數innodb_lock_wait_timeout
,超時時間,並且將參數innodb_deadlock_detect
打開,當發現死鎖的時候,自動回滾其中的某一個事務。
3、按固定順序操作關聯的表
參考:
https://blog.csdn.net/Oooo_mumuxi/article/details/105806483
https://juejin.im/post/6844904197444354062