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

MySQL表級鎖,行級鎖,頁級鎖各顯神通

編輯:MySQL綜合教程

以下的文章主要講述的是MySQL表級鎖與MySQL行級鎖或者是MySQL頁級鎖這三者之間的不同之處以及表級鎖與其他兩種鎖的優越性的表現,以下就是文章的具體內容的描述,望你會有所收獲。

MySQL表級鎖和行級鎖或頁級鎖之間的不同之處還在於:

將同時有一個寫和多個讀的地方做版本(例如在MySQL中的並發插入)。也就是說,數據庫/表支持根據開始訪問數據時間點的不同支持各種不同的試圖。其它名有:時間行程,寫復制,或者是按需復制。

按需復制在很多情況下比頁級鎖或行級鎖好多了。盡管如此,最壞情況時還是比其它正常鎖使用了更多的內存。

可以用應用程序級鎖來代替行級鎖,例如MySQL中的 GET_LOCK() 和 RELEASE_LOCK()。但它們是勸告鎖(原文:These are advisory locks),因此只能用於安全可信的應用程序中。

MySQL表級鎖在下列幾種情況下比頁級鎖和行級鎖更優越:

很多操作都是讀表。

在嚴格條件的索引上讀取和更新,當更新或者刪除可以用單獨的索引來讀取得到時:

  1. UPDATE tbl_name SET column=value WHERE unique_key_col=key_value;   
  2. DELETE FROM tbl_name WHERE unique_key_col=key_value;  

SELECT 和 INSERT 語句並發的執行,但是只有很少的 UPDATE 和 DELETE 語句。

很多的掃描表和對全表的 GROUP BY 操作,但是沒有任何寫表。
 

MySQL表級鎖和

以上的相關內容就是對MySQL表級鎖和行級鎖或頁級鎖之間的關系的介紹,望你能有所收獲。

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