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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 歸納避免同步鎖的幾種方式
- Oracle的鎖機制歸納總結Oracle
- 索引使用的基本原則索引
- 轉貼:Oracle的鎖機制歸納總結Oracle
- MySQL MHA工具的優缺點歸納MySql
- [心得]git使用技巧歸納Git
- MySQL組複製的要求和限制歸納MySql
- Linux基礎命令歸納大全Linux
- MYSQL常用的效能指標總結和歸納MySql指標
- 工具歸納
- 幾條Oracle資料庫開發的原則歸納(上)Oracle資料庫
- 幾條Oracle資料庫開發的原則歸納(下)Oracle資料庫
- 微軟程式歸納新技術:元程式歸納微軟
- MySQL鎖(四)行鎖的加鎖規則和案例MySql
- MySQL 中的鎖有哪些型別,MySQL 中加鎖的原則MySql型別
- MySQL的許可權名稱歸納和說明MySql
- 基於ts的node專案引入報錯歸納
- 【CBO】基於成本優化器的基本原則(二)優化
- 【CBO】基於成本優化器的基本原則(一)優化
- 市場購物籃分析(規則歸納/C5.0)+apriori
- Kotlin知識歸納(一) —— 基礎語法Kotlin
- top sql 產生的歸納SQL
- MySQL主從延遲解決方法的歸納和總結MySql
- oracle段管理歸納Oracle
- html標記歸納HTML
- 聊聊MySQL的加鎖規則《死磕MySQL系列 十五》MySql
- JavaScript識別符號命名規則總結和保留字歸納JavaScript符號
- 工程索賠的基本原則
- Linux基礎優化與安全歸納總結Linux優化
- Peer Dependency 一些使用場景的歸納總結
- 測試基本原則
- 追蹤原始碼的方式歸納原始碼
- Spring歸納小結Spring
- 常用Markdown語法歸納
- JavaScript核心概念歸納整理JavaScript
- MySQL replace into的使用細則MySql
- vsftpd服務的歸納總結FTP
- 對TCP/IP的深入淺出歸納TCP