六. 怎麼減少行鎖對性能的影響

  • InnDB 行鎖添加和釋放的時機(兩階段鎖協議指的是什麼?)
    • 在InnoDB事務中,行鎖是在需要的時候才加上的,但並不是不需要了就立刻釋放,而是要等到事務結束時才釋放。這個就是兩階段鎖協議。
  • 提示:
    • 如果一個事務需要鎖多行,那麼要把最可能造成鎖衝突、最可能影響併發度的鎖往後放。
  • InnoDB進入死鎖後的兩種處理策略是什麼?
  • 一種策略是直接進入等待,直到超時,超時時間可以通過參數:innodb_lock_wait_timeout 設置,該參數默認值爲50s
  • (推薦) 另一種策略是,發現死鎖後,進入死鎖檢測,主動回滾死鎖鏈條中的某一個事務,讓其他事務得以繼續執行。將參數 innodb_deadlock_detect設置爲on,表示開啓這個邏輯
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章