剛買了一本高效能mysql這本書,順便做個筆記記錄學習的足跡。
一、共享鎖和排它鎖
mysql的鎖系統:shared lock和exclusive lock(共享鎖和排他鎖,也叫讀鎖和寫鎖,即write lock和read lock)
讀鎖是共享的,或者說是相互不阻塞的
寫鎖是排他的,乙個寫鎖會阻塞其他的寫鎖和讀鎖
在實際的資料庫系統中,每時每刻都發生鎖定,當某個使用者在修改某部分資料時,mysql會通過鎖定阻止其他使用者對同一資料的讀取
二、鎖的粒度和鎖的策略
表鎖(table lock)和行級鎖(row lock)
表鎖:開銷最小的策略(鎖定整張表)乙個使用者對錶進行寫操作前,需獲得寫鎖(排他鎖),這會阻止其他使用者對錶的所有讀和寫操作。
行級鎖:最大程度的支援併發處理(同時也帶來了最大的鎖開銷)行級鎖只在儲存引擎層實現,而在mysql伺服器層沒有實現。
高效能MySQL(二) 併發控制
無論何時,只要有多個查詢需要在同一時刻修改資料,都會產生併發控制的問題。在處理併發讀或者寫時,可以通過實現乙個由兩種型別的鎖組成的鎖系統來解決問題。這兩種型別的鎖通常被稱為共享鎖 shared lock 和排他鎖 exclusive lock 也叫讀鎖 read lock 和寫鎖 write loc...
高效能MySQL(第3版)筆記 1 2 併發控制
在處理併發讀或者寫時,可以通過實現乙個由兩種型別的鎖組成鎖系統來解決問題 共享鎖 shared lock 也叫讀鎖 read lock 排他鎖 exclusive lock 也叫寫鎖 write lock 讀鎖 共享,互不阻塞,多個客戶在同一時刻可以同時讀取同乙個資源而互不干擾 寫鎖 排他,會阻塞其...
《高效能MySQL》讀書筆記 多版本併發控制演算法
mysql採用預設自動提交,可以通過如下命令檢視和修改 mysql show variables like autocommit variable name value autocommit on 1 row in set 0.00 sec mysql set autocommit 1 innodb...