久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

MySQL中怎么實現行級鎖

148次閱讀
沒有評論

共計 1010 個字符,預計需要花費 3 分鐘才能閱讀完成。

自動寫代碼機器人,免費開通

這篇文章給大家介紹 MySQL 中怎么實現行級鎖,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

MySQL 行級鎖怎么實現

mysql LOCKTABLESreal_tableWRITE,insert_tableWRITE;

mysql INSERTINTOreal_tableSELECT*FROMinsert_table;

mysql TRUNCATETABLEinsert_table;

mysql UNLOCKTABLES;

InnoDB 使用行級鎖,BDB 使用頁級鎖。對于 InnoDB 和 BDB 存儲引擎來說,是可能產生死鎖的。這是因為 InnoDB 會自動捕獲行鎖,BDB 會在執行 SQL 語句時捕獲頁鎖的,而不是在事務的開始就這么做。

MySQL 行級鎖的優點和缺點有哪些

MySQL 行級鎖的優點有:

在很多線程請求不同記錄時減少沖突鎖。

事務回滾時減少改變數據。

使長時間對單獨的一行記錄加鎖成為可能。

MySQL 行級鎖的缺點有:

比頁級鎖和表級鎖消耗更多的內存。

當在大量表中使用時,比頁級鎖和表級鎖更慢,因為他需要請求更多的所資源。

當需要頻繁對大部分數據做 GROUPBY 操作或者需要頻繁掃描整個表時,就明顯的比其它鎖更糟糕。

使用更高層的鎖的話,就能更方便的支持各種不同的類型應用程序,因為這種鎖的開銷比行級鎖小多了。

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

很多操作都是讀表。

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

UPDATEtbl_nameSETcolumn=valueWHEREunique_key_col=key_value;

DELETEFROMtbl_nameWHEREunique_key_col=key_value;

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

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

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

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

關于 MySQL 中怎么實現行級鎖就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向 AI 問一下細節

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-12-04發表,共計1010字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 新沂市| 青神县| 济阳县| 定南县| 榆社县| 兴安县| 珠海市| 开封市| 苍溪县| 湖南省| 揭东县| 抚州市| 南宫市| 旬邑县| 四子王旗| 汉寿县| 万荣县| 防城港市| 铜陵市| 岑溪市| 三河市| 湛江市| 察哈| 德化县| 沅江市| 山东| 眉山市| 边坝县| 托克逊县| 林西县| 英超| 新营市| 特克斯县| 沙田区| 衡东县| 鄂伦春自治旗| 汪清县| 安康市| 湘潭市| 莫力| 上饶县|