MySQL MDL,元資料鎖的粒度

2021-07-28 11:17:20 字數 309 閱讀 6785

mysql server層定義了如下的元資料鎖的粒度,這些鎖較多,超出了讀鎖和寫鎖兩種鎖粒度,這是因為讀鎖和寫鎖通常是理論上根據概念**的範疇,而在工程實踐中會根據實際情況進行細化,以最大限度地提高併發度。

/**type of metadata lock request.

@sa comments for mdl_object_lock::can_grant_lock() and mdl_scoped_lock::can_grant_lock() for details.

*/enumenum_mdl_type;

控制鎖的粒度

日期 2009年5月3日 翻譯 張洪舉 原文 在sql server 7.0 的所有版本中,引擎可以鎖定行 頁或整個表。此外,即使通過獲取行或頁鎖的方式啟動了查詢,如果獲取了太多的鎖,sql server 也可能會將其提公升到乙個表鎖。每個鎖都需要使用記憶體,所以,當以乙個表鎖公升級替換成千上萬的細...

關於資料庫的鎖粒度

一種提高共享資源併發性的方式就是讓鎖定物件更具有選擇性。盡量只鎖定需要修改的部分資料,而不是所有資源。更理想的方式是,只對會修改的資料片進行精確鎖定。任何時候,在給定的資源上,鎖定的資料量越少,則系統的併發程度越高,只要互相之間不發生衝突就可以了。問題是加鎖也需要消耗資源。鎖的各種操作,包括獲得鎖,...

資料庫 鎖(概念 分類 粒度)

1 概念 資料庫是乙個多使用者使用的共享資源。當多個使用者併發地訪問資料時,在資料庫中就會產生多個事務同時訪問同一資料的情況。若對併發操作不加控制就可能會讀取和儲存不正確的資料,破壞資料庫的一致性。加鎖是實現資料庫併發控制的乙個非常重要的技術。當事務在對某個資料物件進行操作前,先向系統發出請求,對其...