掃二維碼與項(xiàng)目經(jīng)理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
以下的文章主要講述的是MySQL表級鎖與MySQL行級鎖或者是MySQL頁級鎖這三者之間的不同之處以及表級鎖與其他兩種鎖的優(yōu)越性的表現(xiàn),以下就是文章的具體內(nèi)容的描述,望你會有所收獲。

MySQL表級鎖和行級鎖或頁級鎖之間的不同之處還在于:
將同時有一個寫和多個讀的地方做版本(例如在MySQL中的并發(fā)插入)。也就是說,數(shù)據(jù)庫/表支持根據(jù)開始訪問數(shù)據(jù)時間點(diǎn)的不同支持各種不同的試圖。其它名有:時間行程,寫復(fù)制,或者是按需復(fù)制。
按需復(fù)制在很多情況下比頁級鎖或行級鎖好多了。盡管如此,最壞情況時還是比其它正常鎖使用了更多的內(nèi)存。
可以用應(yīng)用程序級鎖來代替行級鎖,例如MySQL中的 GET_LOCK() 和 RELEASE_LOCK()。但它們是勸告鎖(原文:These are advisory locks),因此只能用于安全可信的應(yīng)用程序中。
MySQL表級鎖在下列幾種情況下比頁級鎖和行級鎖更優(yōu)越:
很多操作都是讀表。
在嚴(yán)格條件的索引上讀取和更新,當(dāng)更新或者刪除可以用單獨(dú)的索引來讀取得到時:
- UPDATE tbl_name SET column=value WHERE unique_key_col=key_value;
- DELETE FROM tbl_name WHERE unique_key_col=key_value;
SELECT 和 INSERT 語句并發(fā)的執(zhí)行,但是只有很少的 UPDATE 和 DELETE 語句。
很多的掃描表和對全表的 GROUP BY 操作,但是沒有任何寫表。
以上的相關(guān)內(nèi)容就是對MySQL表級鎖和行級鎖或頁級鎖之間的關(guān)系的介紹,望你能有所收獲。
【編輯推薦】

我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流