理解mysql_鎖的概念

對於鎖需要重點掌握以下: 
  1.  鎖分類 
  ● 表鎖 
  ● 行鎖 
  ● 對象鎖(meta-table鎖),在table cache層實現 
  ● 頁鎖 
  ● 排他鎖(互斥鎖、X鎖) 
  ● 共享鎖(S鎖) 

2.鎖的使用注意事項 
  ● innodb引擎是行級鎖,適用於高併發場景的後臺系統 
  ● myisam引擎採用的是表級鎖,適用於前端web系統 
  ● 執行delete\update時默認會加互斥鎖 
  ● innodb, 如果delete \update在where條件後的字段沒有加索引,會造成鎖表,嚴重併發性能 
  ● 修改字段、刪除主鍵、刪除主鍵字段時會造成meta-table鎖 

設置鎖等待超時時間: innodb_lock_wait_timeout=500 (單位爲s) 
鎖常用的命令: 
  ● 查看錶鎖爭用情況 
          show status like 'table%' 
          

      value值越高,鎖爭用情況越嚴重。 

  ● 查看鎖表的狀態 
          show processlist; 
          對應的status值能看出來是否有鎖表。 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章