MySQL體系架構(gòu)

基礎(chǔ)概念

數(shù)據(jù)庫實例是由數(shù)據(jù)庫后臺進程/線程以及一個共享內(nèi)存區(qū)組成肛捍。共享內(nèi)存可以被運行的后臺進程/線程所共享相种。需要注意的是赡麦,數(shù)據(jù)庫實例才是真正用來操作數(shù)據(jù)庫文件的盼玄。

MySQL體系架構(gòu)

如圖所示:

image
  1. 最上層的連接服務(wù)届搁,用于不同語言與SQL的交互缘薛。
    • 可以通過【show variables like '%connections%'】命令查看MySQL實例的最大連接數(shù)和單個用戶的最大連接數(shù)窍育。
  2. 第二層MySQL Server,大多數(shù)MySQL的核心服務(wù)功能都在這一層宴胧,包括查詢解析漱抓、分析、優(yōu)化恕齐、緩存乞娄,所有跨存儲引擎的功能都集中在這一層實現(xiàn)。
    • Management Serveices & Utilities:系統(tǒng)管理和控制工具
      備份和恢復的安全性显歧,復制仪或,集群,管理士骤,配置范删,遷移和元數(shù)據(jù)。
    • Connection Pool:連接池
      進行身份驗證拷肌、線程重用到旦,連接限制,檢查內(nèi)存巨缘,數(shù)據(jù)緩存添忘;管理用戶的連接,線程處理等需要緩存的需求若锁。
    • SQL Interface:SQL 接口
      進行 DML搁骑、DDL,存儲過程又固、視圖仲器、觸發(fā)器等操作和管理;用戶通過 SQL 命令來查詢所需結(jié)果口予。
    • Parser:解析器
      查詢翻譯對象的特權(quán)娄周;SQL 命令傳遞到解析器的時候會被解析器驗證和解析涕侈。
    • Optimizer:查詢優(yōu)化器
    • Cache 和 Buffer:查詢緩存
      全局和引擎特定的緩存和緩沖區(qū)
  3. 第三層為存儲引擎層沪停,存儲引擎負責MySQL中數(shù)據(jù)的存儲和提取,服務(wù)器通過API于存儲引擎進行通信裳涛。
    • 可以通過【SHOW ENGINES】命令查看各個存儲引擎信息木张。

執(zhí)行流程

image

在 MySQL Server 中首先有一個 Cache,用來緩存 SQL 查詢語句的查詢結(jié)果端三,如果緩存命中舷礼,則直接返回結(jié)果,如果緩存沒有命中郊闯,則對 SQL 語句進行語法分析妻献,預處理和查詢優(yōu)化蛛株,最終得到該查詢的執(zhí)行計劃,之后育拨,該執(zhí)行計劃被送往數(shù)據(jù)庫引擎谨履,得到最終查詢到的數(shù)據(jù)。數(shù)據(jù)庫引擎并不會嚴格按照執(zhí)行計劃進行執(zhí)行熬丧,而是會根據(jù)自身的架構(gòu)和特性進行一些調(diào)整笋粟,以提高執(zhí)行效率。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末析蝴,一起剝皮案震驚了整個濱河市害捕,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌闷畸,老刑警劉巖尝盼,帶你破解...
    沈念sama閱讀 222,252評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異佑菩,居然都是意外死亡东涡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,886評論 3 399
  • 文/潘曉璐 我一進店門倘待,熙熙樓的掌柜王于貴愁眉苦臉地迎上來疮跑,“玉大人,你說我怎么就攤上這事凸舵∽婺铮” “怎么了?”我有些...
    開封第一講書人閱讀 168,814評論 0 361
  • 文/不壞的土叔 我叫張陵啊奄,是天一觀的道長渐苏。 經(jīng)常有香客問我,道長菇夸,這世上最難降的妖魔是什么琼富? 我笑而不...
    開封第一講書人閱讀 59,869評論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮庄新,結(jié)果婚禮上鞠眉,老公的妹妹穿的比我還像新娘。我一直安慰自己择诈,他們只是感情好械蹋,可當我...
    茶點故事閱讀 68,888評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著羞芍,像睡著了一般哗戈。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上荷科,一...
    開封第一講書人閱讀 52,475評論 1 312
  • 那天唯咬,我揣著相機與錄音纱注,去河邊找鬼。 笑死胆胰,一個胖子當著我的面吹牛奈附,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播煮剧,決...
    沈念sama閱讀 41,010評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼斥滤,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了勉盅?” 一聲冷哼從身側(cè)響起佑颇,我...
    開封第一講書人閱讀 39,924評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎草娜,沒想到半個月后挑胸,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,469評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡宰闰,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,552評論 3 342
  • 正文 我和宋清朗相戀三年茬贵,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片移袍。...
    茶點故事閱讀 40,680評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡解藻,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出葡盗,到底是詐尸還是另有隱情螟左,我是刑警寧澤,帶...
    沈念sama閱讀 36,362評論 5 351
  • 正文 年R本政府宣布觅够,位于F島的核電站胶背,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏喘先。R本人自食惡果不足惜钳吟,卻給世界環(huán)境...
    茶點故事閱讀 42,037評論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望窘拯。 院中可真熱鬧红且,春花似錦、人聲如沸树枫。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,519評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽砂轻。三九已至,卻和暖如春斤吐,著一層夾襖步出監(jiān)牢的瞬間搔涝,已是汗流浹背厨喂。 一陣腳步聲響...
    開封第一講書人閱讀 33,621評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留庄呈,地道東北人蜕煌。 一個月前我還...
    沈念sama閱讀 49,099評論 3 378
  • 正文 我出身青樓,卻偏偏與公主長得像诬留,于是被迫代替她去往敵國和親斜纪。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,691評論 2 361

推薦閱讀更多精彩內(nèi)容

  • SQL架構(gòu)圖 InnoDB 存儲引擎層體系結(jié)構(gòu)圖 mysql的組成部分: mysql是由sql查詢接口文兑,解析器盒刚,優(yōu)...
    lijincheng閱讀 709評論 0 2
  • 基礎(chǔ)概念 數(shù)據(jù)庫實例是由數(shù)據(jù)庫后臺進程/線程以及一個共享內(nèi)存區(qū)組成。共享內(nèi)存可以被運行的后臺進程/線程所共享绿贞。需要...
    GrooveWind閱讀 2,182評論 0 1
  • 一. MySQL體系結(jié)構(gòu) 1因块、Connectors指的是不同語言中與SQL的交互 2、Management Ser...
    PennLi閱讀 778評論 0 2
  • ORA-00001: 違反唯一約束條件 (.) 錯誤說明:當在唯一索引所對應(yīng)的列上鍵入重復值時籍铁,會觸發(fā)此異常涡上。 O...
    我想起個好名字閱讀 5,338評論 0 9
  • 2. mysql 體系架構(gòu) 連接方式TCP/IPSocket mysqld程序結(jié)構(gòu)mysqld程序結(jié)構(gòu)mysql程...
    田村君閱讀 179評論 0 0