日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql手册英文原版

發布時間:2024/3/24 数据库 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql手册英文原版 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

開頭

這個世界都是并發的,編程里更是這樣,俗話說:并發知識大,一口吃不下。想成為一名優秀的 Java 開發,學好并發,絕對是你走入高薪行列的必備能力之一。

并發涉及的知識點,其實十分瑣碎。學完記不住,記住了用不對。在并發底層原理中,不僅涉及 Java 語言,更涉及 JVM、操作系統、內存、CPU 指令等,令人一頭霧水。

這份筆記+學習腦圖可以幫你系統地學習Java 并發編程知識,并告別碎片化獲取知識的弊端。

鎖種類

Mysql中鎖的分類按照不同類型的劃分可以分成不同的鎖,按照**「鎖的粒度」劃分可以分成:「表鎖、頁鎖、行鎖」;按照「使用的方式」劃分可以分為:「共享鎖」「排它鎖」;按照思想的劃分:「樂觀鎖」「悲觀鎖」**。

下面我們對著這幾種劃分的鎖進行詳細的解說和介紹,在了解設計者設計鎖的概念的同時,也能深入的理解設計者的設計思想。

**「表鎖」**是粒度最大的鎖,開銷小,加鎖快,不會出現死鎖,但是由于粒度太大,因此造成鎖的沖突幾率大,并發性能低。

Mysql中**「MyISAM儲存引擎就支持表鎖」,MyISAM的表鎖模式有兩種:「表共享讀鎖」「表獨占寫鎖」**。

當一個線程獲取到MyISAM表的讀鎖的時候,會阻塞其他用戶對該表的寫操作,但是不會阻塞其它用戶對該用戶的讀操作。

相反的,當一個線程獲取到MyISAM表的寫鎖的時候,就會阻塞其它用戶的讀寫操作對其它的線程具有排它性。

**「頁鎖」**的粒度是介于行鎖和表鎖之間的一種鎖,因為頁鎖是在BDB中支持的一種鎖機制,也很少沒人提及和使用,所以這里制作概述,不做詳解。

**「行鎖」**是粒度最小的鎖機制,行鎖的加鎖開銷性能大,加鎖慢,并且會出現死鎖,但是行鎖的鎖沖突的幾率低,并發性能高。

行鎖是InnoDB默認的支持的鎖機制,MyISAM不支持行鎖,這個也是InnoDB和MyISAM的區別之一。

行鎖在使用的方式上可以劃分為:「共享讀鎖(S鎖)「和」排它寫鎖(X鎖)」

當一個事務對Mysql中的一條數據行加上了S鎖,當前事務不能修改該行數據只能執行度操作,其他事務只能對該行數據加S鎖不能加X鎖。

若是一個事務對一行數據加了X鎖,該事物能夠對該行數據執行讀和寫操作,其它事務不能對該行數據加任何的鎖,既不能讀也不能寫。

「悲觀鎖和樂觀鎖是在很多框架都存在的一種思想,不要狹義地認為它們是某一種框架的鎖機制」

數據庫管理系統中為了控制并發,保證在多個事務執行時的數據一致性以及事務的隔離性,使用悲觀鎖和樂觀鎖來解決并發場景下的問題。

Mysql中**「悲觀鎖的實現是基于Mysql自身的鎖機制實現,而樂觀鎖需要程序員自己去實現的鎖機制」,最常見的樂觀鎖實現就鎖機制是「使用版本號實現」**。

樂觀鎖設計思想的在CAS的運用也是比較經典,之前我寫過一篇關于CAS的文章,大家感興趣的可以參考這一篇[]。

從上面的介紹中說了每一種鎖的概念,但是很難說哪一種鎖就是最好的,鎖沒有最好的,只有哪種業務場景最適合哪種鎖,具體業務具體分析。

下面我們就具體基于Mysql的存儲引擎詳細的分析每一種鎖在存儲引擎中的運用和實現。

MyISAM

MyISAM中默認支持的表級鎖有兩種:「共享讀鎖」「獨占寫鎖」。表級鎖在MyISAM和InnoDB的存儲引擎中都支持,但是InnoDB默認支持的是行鎖。

Mysql中平時讀寫操作都是隱式的進行加鎖和解鎖操作,Mysql已經自動幫我們實現加鎖和解鎖操作了,若是想要測試鎖機制,我們就要顯示的自己控制鎖機制。

Mysql中可以通過以下sql來顯示的在事務中顯式的進行加鎖和解鎖操作

最后

小編精心為大家準備了一手資料

**點擊這里免費領取**以上Java高級架構資料、源碼、筆記、視頻。Dubbo、Redis、設計模式、Netty、zookeeper、Spring cloud、分布式、高并發等架構技術

【附】架構書籍贈送

  • BAT面試的20道高頻數據庫問題解析
  • Java面試寶典
  • Netty實戰
  • 算法
  • BATJ面試要點及Java架構師進階資料

    436)]

    BATJ面試要點及Java架構師進階資料

    [外鏈圖片轉存中…(img-XXOjPm4S-1624340602439)]

    總結

    以上是生活随笔為你收集整理的mysql手册英文原版的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。