程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> Mysql 鎖粒度,mysql鎖粒度

Mysql 鎖粒度,mysql鎖粒度

編輯:MySQL綜合教程

Mysql 鎖粒度,mysql鎖粒度


表鎖:

  表鎖是mysql 中最幾本的鎖策略,並且是開銷最小的策略:它會鎖定整張表。

  一個用戶在對表進行鎖操作(增,刪,改)前,首先要獲得寫鎖,這會阻塞其他用戶對該表的所有讀寫操作。只有沒有寫鎖時,其他用戶才能獲得讀鎖,讀鎖之間是不相互阻塞的。

  在特定的場景中,表鎖也可能有良好的性能。例如:READ  LOCAL 表鎖支持某些類型的並發寫操作。另外,寫鎖也比讀鎖有更高的優先級,因此,一個寫鎖的請求,可能會被插入到讀鎖隊列的前面(寫鎖能插入到鎖隊列的前面,反之,讀鎖不能插入到寫鎖的前面);

  盡管存儲引擎可以管理自己的鎖,Mysql本身還是會使用各種有效的鎖來實現不同的目的。例如:服務器會為諸如 ALTER TABLE 之類的語句使用表鎖,而忽略存儲引擎的鎖機制。

行級鎖:

  行級鎖可以最大程度的支持並發處理(同時也帶來最大鎖開銷)。眾所周知,在InnoDB 和XtraDB 以及其他一些存儲引擎中實現了行級鎖。行級鎖只在存儲引擎層實現,而Mysql服務器層沒有實現。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved