日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

這篇文章主要是從MySQL數據庫的邏輯架構來認識掌握mysql的原理。只要是稍微有一點計算機的相關知識相信都能看明白。

一、籠統的邏輯架構

先給出一張邏輯架構圖,這張圖是讓你從宏觀的角度來分析認識一下。

3分鐘學會mysql數據庫的邏輯架構原理

 

從這張圖你可以獲取到如下的信息:

(1)mysql架構大致上可以劃分為四層。

(2)第一層,主要是不同客戶端的連接。

(3)第二層,主要是處理客戶端的連接。

(4)第三層,處理客戶端的sql語句。

(5)第四層,存儲引擎真實的執行sql語句。

現在你已經了解了mysql的整體架構,而且也大致明白了每一層是干嘛的,現在我們把目光逐漸細化,畢竟上面這張圖還是太籠統。

二、細化的邏輯架構圖

看下面這張圖。

3分鐘學會mysql數據庫的邏輯架構原理

 

?這張圖相比較前面那張圖就細化了一部分,從上到下還是分為了四層,

第一層:在這里我們可以看出,連接的客戶端有很多,php、Python、jdbc等等都有。

第二層:這一層是鏈接層,對應于第一張圖的連接處理層,主要是處理客戶端的連接,這是因為客戶端很多種類很多。

第三層:這一層是服務層。主要是處理客戶端請求的sql語句,如何處理呢?大致流程就是,先查詢緩存,如果緩存有,那就直接拿出來返回。如果沒有那就解析器解析,然后優化器優化,各個存儲引擎提供的功能都集中在這一層,如存儲過程,觸發器,視圖等。

第四層:這一層是引擎層,在這里我們可以看到有好幾種不同的存儲引擎,比如InnoDB,MyISAM,memory等等。真正負責MySQL中數據的存儲和提取。

假如說我們使用jdbc執行一條插入的sql語句,整個流程是如何執行的呢?

首先,jdbc屬于第一層,通過第二層的連接處理連接到mysql服務器,接下來,通過解析器對sql語句進行解析,然后再通過優化器對sql語句進行優化,最終調用第四層的存儲引擎的接口,執行插入語句,將數據插入到文件或者是其他文件系統上。

是不是很簡單。通常在學習mysql的時候,老師都會介紹到存儲引擎。那時候可能你還沒有注意到他的重要性,現在相信你應該體會到了。也就是說服務層的那些功能,都是由存儲引擎提供的。不同的存儲引擎提供的可能是不一樣的。如何去比較這些存儲引擎呢?我們列了一些指標去對比一下:

3分鐘學會mysql數據庫的邏輯架構原理

 

對于mysql數據庫來說,默認的就是InnoDB,它不能支持哈希索引還有全文索引。因此如果有一天你不喜歡它了也可以去更換,語句就是SET default_storage_engine=< 存儲引擎名 >。

分享到:
標簽:mysql
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定