高效能MySQL(第3版)筆記 1 2 併發控制

2021-10-07 05:34:05 字數 738 閱讀 3074

在處理併發讀或者寫時,可以通過實現乙個由兩種型別的鎖組成鎖系統來解決問題

共享鎖(shared lock), 也叫讀鎖(read lock),排他鎖(exclusive lock),也叫寫鎖(write lock)。

讀鎖:共享,互不阻塞,多個客戶在同一時刻可以同時讀取同乙個資源而互不干擾

寫鎖:排他,會阻塞其他的寫鎖和讀鎖

寫鎖比讀鎖由更高的優先順序,因此乙個寫鎖請求可能會被插入到讀鎖佇列的前面。

鎖粒度也就是鎖的範圍,分為表鎖行級鎖

mysql最基本的鎖策略,並且是開銷最小的策略,它會鎖定整張表,乙個使用者在對錶進行寫操作(insert、delete、update等)前,需要首先獲得寫鎖,這回阻塞其他使用者對該張表的所有讀寫操作。在特定的場景中,表鎖也可能有良好的效能。例如readlocal表鎖支援某些型別的併發寫操作。

儘管儲存引擎可以管理自己的鎖,mysql本身還是會使用各種有效的表鎖來實現不同的目的。禮物,伺服器會為諸如alter table之類的語句使用表鎖,而忽略引擎的鎖機制

行級鎖可以最大成都第支援併發處理,同時也帶來了最大的鎖開銷。在innodb和xtradb以及其他一些儲存引擎中實現了行級鎖。行級鎖只在儲存引擎中實現,mysql伺服器層沒有實現。

高效能MySQL 第3版(中文)pdf

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!編輯 高效能mysql 是分享mysql實用經驗的圖書。它不但可以幫助mysql初學者提高使用技巧,更為有經驗的mysql dba指出了開發高效能mysql應用的途徑。高效能mysql 第2版 包含14章和4個附錄,內容覆蓋mysql系統架構 設計...

《高效能MySQL(第3版)》之切分查詢

有時候對於乙個大查詢我們需要 分而治之 將大查詢切分成小查詢,每個查詢功能完全一樣,只完成一小部分,每次只返回一小部分查詢結果。刪除舊的資料庫就是乙個很好的例子。定期地清除大量資料時,如果用乙個大的語句一次性完成的話,則可能需要一次性鎖住很多資料 佔滿整個事務日誌 耗盡系統資源 阻塞很多小的但重要的...

mysql總結3(高效能MySQL筆記)

10 複製 mysql支援基於行的複製和基於語句的複製,這兩種方式都是通過在主庫中記錄二進位制日誌,然後在備庫中重放日誌的方式來實現資料的非同步複製。複製框架對於主庫的開銷 增加二進位制日誌的儲存,備庫從主庫讀取日誌的網路開銷等。複製的目的 資料分布儲存 達到負載均衡 備份 高可用性和故障切換 伺服...