MySQL鎖使用的基本原則歸納
目前出現的主要鎖型別有以下幾種:
讀鎖:在一個事務對相應資料集進行讀操作時,加入讀鎖。讀鎖又稱共享鎖(Shared,簡稱S鎖),這是因為在一個事務對某資料集加入讀鎖後,仍然允許其他事務對該資料集進行讀操作。
寫鎖:在一個事務對相應資料集進行寫操作時,加入寫鎖。寫鎖又稱排它鎖(eXclusive,簡稱X鎖),這是因為在一個事務對某資料集加入寫鎖後,不再允許其他事務對該資料集進行訪問了。
更新鎖:在一個事務對相應資料集進行更新操作時,加入更新鎖。更新鎖又稱為U鎖(Update的縮寫)。一般地講,這個鎖型別不是必須的。
目前,許多大型資料庫管理系統增加這種鎖型別,主要是為了提高系統查詢的併發性。
鎖使用的基本原則歸納如下:
一個資料集加了S鎖後,可以被其他事務加入S鎖,但是不能再加任何的X鎖或U鎖;
一個資料集加了X鎖後,不能再被其他事務加任何型別的鎖;
一個資料集加了U鎖後,考慮系統的併發效率,可以允許其他事務加入S鎖,但是絕對不能允許再加任何的X鎖或U鎖。
在多副本的情況下,加入S鎖時一般只需要對任意一個副本進行;但是加X鎖時需要對所有的副本實施。
讀鎖:在一個事務對相應資料集進行讀操作時,加入讀鎖。讀鎖又稱共享鎖(Shared,簡稱S鎖),這是因為在一個事務對某資料集加入讀鎖後,仍然允許其他事務對該資料集進行讀操作。
寫鎖:在一個事務對相應資料集進行寫操作時,加入寫鎖。寫鎖又稱排它鎖(eXclusive,簡稱X鎖),這是因為在一個事務對某資料集加入寫鎖後,不再允許其他事務對該資料集進行訪問了。
更新鎖:在一個事務對相應資料集進行更新操作時,加入更新鎖。更新鎖又稱為U鎖(Update的縮寫)。一般地講,這個鎖型別不是必須的。
目前,許多大型資料庫管理系統增加這種鎖型別,主要是為了提高系統查詢的併發性。
鎖使用的基本原則歸納如下:
一個資料集加了S鎖後,可以被其他事務加入S鎖,但是不能再加任何的X鎖或U鎖;
一個資料集加了X鎖後,不能再被其他事務加任何型別的鎖;
一個資料集加了U鎖後,考慮系統的併發效率,可以允許其他事務加入S鎖,但是絕對不能允許再加任何的X鎖或U鎖。
在多副本的情況下,加入S鎖時一般只需要對任意一個副本進行;但是加X鎖時需要對所有的副本實施。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15498/viewspace-2138076/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 歸納避免同步鎖的幾種方式
- 索引使用的基本原則索引
- MySQL MHA工具的優缺點歸納MySql
- MySQL組複製的要求和限制歸納MySql
- Linux基礎命令歸納大全Linux
- MySQL 中的鎖有哪些型別,MySQL 中加鎖的原則MySql型別
- MySQL鎖(四)行鎖的加鎖規則和案例MySql
- 工具歸納
- 基於ts的node專案引入報錯歸納
- 聊聊MySQL的加鎖規則《死磕MySQL系列 十五》MySql
- Kotlin知識歸納(一) —— 基礎語法Kotlin
- 微軟程式歸納新技術:元程式歸納微軟
- openpyxl淺歸納
- SOLID 原則:軟體設計的基本原則Solid
- Linux基礎優化與安全歸納總結Linux優化
- 華納雲:如何使用HammerDB進行MySQL基準測試MySql
- Spring歸納小結Spring
- Peer Dependency 一些使用場景的歸納總結
- 霍納法則
- 物件導向基本原則物件
- 追蹤原始碼的方式歸納原始碼
- 架構設計中的基本原則架構
- 安全測試的基本原則有哪些?
- MySQL自適應雜湊索引的特點和缺陷介紹和歸納MySql索引
- MySQL觸發器的使用規則MySql觸發器
- App設計的基本原則和規範APP
- 物件導向程式設計的基本原則物件程式設計
- 資料架構的基本原則有哪些?架構
- 前端學習記錄 1:HTML 基礎知識點歸納前端HTML
- 【組合數學】組合數學簡介 ( 組合思想 2 : 數學歸納法 | 數學歸納法推廣 | 多重歸納思想 )
- ROS入門教程歸納1ROS
- HTML標籤,簡單歸納HTML
- Laravel驗證器用法歸納Laravel
- Kotlin知識歸納(十四) —— 反射Kotlin反射
- jQuery學習總結歸納jQuery
- HTML5 標籤歸納HTML
- Kotlin知識歸納(八) —— 序列Kotlin
- Kotlin知識歸納(七) —— 集合Kotlin
- Kotlin知識歸納(五) —— LambdaKotlin