日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

在我們開發的過程中,使用全局鎖和表鎖的場景比較少,接觸的也相對少一點,下面主要介紹一下。

全局鎖

FTWRL

全局鎖就是對整個數據庫實例加鎖,MySQL 提供了 flush tables with read lock (FTWRL) 的方式去加全局鎖。當你需要讓整個庫處于只讀狀態的時候,就可以使用這個命令了,之后所有線程的更改操作都會被阻塞。

mysqldump

mysqldump 是官方提供的備份工具,可以通過 --single-transaction 參數來啟用可重復讀隔離級別,從而可以拿到一個一致性視圖。

set global readonly = true

通過上述命令可以讓全庫進入只讀狀態,但是在開發當中,事務框架往往會利用這個參數來處理讀寫分離。所以通常情況下,還是不建議使用這種方式。

表級鎖

MySQL 的表級鎖有 2 種:表鎖 和 元數據鎖。

表鎖

表鎖可以使用 lock tables T read/write , 可以使用 unlock tables 主動釋放鎖,也可以在客戶端斷開的時候自動釋放鎖。

MDL (metadata lock)

MDL 沒有顯示的命令,當執行改表語句時,MDL 會保證讀寫的正確性。MySQL 在 5.5 版本以后引入了 MDL 鎖,當對一個表做 增刪改查 的時候,加 MDL 讀鎖;當要多表結構做變更的時候,加 MDL 寫鎖。

  1. MDL 讀鎖之間不互斥,因此可以有多個線程同時對一張表 增刪改查。
  2. MDL 讀-寫、寫-寫之間是互斥的,因此如果同時有 2 個線程給表加字段,則需要順序執行。

當我們在線上更改表字段的時候,可能會造成長時間的服務不可用。流程如下:

MySQL全局鎖表鎖&行鎖

分享到:
標簽:MySQL
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定