《一起學mysql》一、開篇

? mysql作為一個開源的關系型數(shù)據(jù)庫错负,融合了這個社會的縮影坟瓢。

? 我們在看護下成長或獨自生根發(fā)芽勇边、解決生活的煩惱,然后組成另一個家庭折联。也會在社會中由一席之地粒褒。


個體

家庭(數(shù)據(jù)庫)中每個人都有著重要的任務:

連接器:連接器要管理鏈接,權限驗證诚镰。

查詢緩存:命中數(shù)據(jù)直接返回奕坟,但是聽說老了退休了。

分析器:分析器詞法分析清笨,語法分析执赡。

優(yōu)化器:優(yōu)化器確定最后的執(zhí)行計劃,并挑選出執(zhí)行索引函筋。

執(zhí)行器:執(zhí)行器操作存儲引擎沙合,返回操作結果。

他們就像一個工廠中的流水線工人跌帐,將客人(客戶端)的訂單(請求)順序執(zhí)行首懈,然后放入機器(存儲引擎)。


家庭

家庭(數(shù)據(jù)庫)協(xié)作很重要谨敛,每個人都不可替代

  • 連接器

    第一步究履,用戶會先和這個家庭建立聯(lián)系,這個時候對外的是連接器脸狸,連接器負責和用戶建立聯(lián)系最仑,校驗權限,維持和管理雙方的聯(lián)系炊甲。

    一般會寫出這樣一封信:

    mysql -h$ip -P$port -u$user -p
    

    當雙方建立通信(TCP握手)后泥彤,連接器就會確認對方信息,如果發(fā)現(xiàn)不是授權用戶卿啡,就會返回一個“Access denied for user”吟吝。

    連接器也會思考和用戶的通信狀態(tài),比如確定自己是否是空閑的颈娜,如果空閑就豎起一個“sleep”的牌子剑逃,但是一旦休息超過8小時時(默認值),就主動斷開和這個用戶的通信官辽。如果客戶在斷開后再次請求連接蛹磺,就會收到一個“Lost connection to MySQL server during query⊥停”的回信萤捆,告知通信已經斷開。

    連接器一直在思考到底應該要和客戶建立多久的連接才是合理的,他希望相對高效的完成自己的任務鳖轰。如果一直不斷開清酥,那么就無法接待下一位客戶,明顯是不合理的蕴侣;如果時間太短焰轻,會導致權限和連接浪費性能和時間。

    臨時方案就是定期的斷開大連接昆雀,這樣消耗減少了很多辱志。

    推陳出新的連接器在第5.7版本拿出了這樣一個解決方式:每次在大操作(時間,空間)后狞膘,讓連接初始化(釋放內存)揩懒,因為相互通信沒有斷,那么久可以不用建立連接和校驗了挽封。

  • 查詢緩存

    建立完連接后已球,我們來到了第二部,訪問查詢緩存辅愿。

    每次建立連接完畢后智亮,家里會在查詢緩存老爺子這看看看。老爺子像一個門衛(wèi)点待,之前登記過的信件和回信會登記在他的小笨笨上面阔蛉。如果之前已經用相同的拜訪者或者信件,老爺子就直接回信了癞埠。他認為放進去無在乎讓他重新登記一次相同的數(shù)據(jù)状原,這樣是很讓費精力(性能)的。

但是在訪問人數(shù)越來越多時苗踪,老爺子已經判斷不了是否自己能夠承接這個任務了颠区,小本本越來越厚,改動越來越頻繁徒探。老爺子也到了要退休的年齡了瓦呼。

到了8.0版本時喂窟,老爺子(查詢緩存)退休了测暗。

  • 分析器

    下一棒投遞到了分析器,他就像一個摩斯密碼的翻譯者磨澡,將信件翻譯成機器(存儲引擎)認識的語言碗啄。

    分析器會將信件(任務)拆解為行為(select代表查詢,update代表修改)稳摄。

    將執(zhí)行內容轉化為自己的工作語言(比如將 name = ‘’張三“稚字,識別為等于張三的列name)。

    將重組后的語言進行賽選(語法分析),并判斷是否有這些執(zhí)行節(jié)點(表胆描,字段)瘫想,不合理的信件直接回信”You have an error in your SQL syntax“。

  • 優(yōu)化器

    結束了分析器的工作昌讲,客戶的寄信目的已經非常明確了国夜,但是可能還是不夠合理或者詳細,這時候優(yōu)化器就會代替客戶在分析器翻譯后的文章上用“更專業(yè)”的方式描述信件內容短绸。

    他會判斷客戶的形容詞(索引)是否準確车吹,是否可以替換(優(yōu)化),有多個形容詞時醋闭,哪一個才是客戶強調的重點窄驹,是否有客戶忽略了的問題。

    他會分析客戶敘述場景的方式(順序)证逻,幫客戶選出相對合理的執(zhí)行流程(順序)乐埠。

  • 執(zhí)行器

    現(xiàn)在客戶的需求已經非常明確了,并且已經擁有了明確的工作流執(zhí)行文本囚企,交給執(zhí)行器的只剩執(zhí)行了饮戳。

    執(zhí)行器會判斷客戶是否有這個工作內容的執(zhí)行節(jié)點的權限(表權限),如果權限不合理就會回信“ERROR 1142 (42000): *** command denied to user 'b'@'localhost' for table 'T'”

    判斷完畢后洞拨,執(zhí)行器會操作(調用)存儲引擎扯罐,執(zhí)行文本邏輯,并將執(zhí)行結果寫信寄出烦衣。

在家庭各成員緊密的配合下歹河,每個成員成為了不可或缺的組成分子。

他們在明確的分工下完成自己的任務花吟。

可能會有新的生命誕生秸歧,也會有退休的那一天。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末衅澈,一起剝皮案震驚了整個濱河市键菱,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌今布,老刑警劉巖经备,帶你破解...
    沈念sama閱讀 211,042評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異部默,居然都是意外死亡侵蒙,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評論 2 384
  • 文/潘曉璐 我一進店門傅蹂,熙熙樓的掌柜王于貴愁眉苦臉地迎上來纷闺,“玉大人算凿,你說我怎么就攤上這事±绻Γ” “怎么了氓轰?”我有些...
    開封第一講書人閱讀 156,674評論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長浸卦。 經常有香客問我戒努,道長,這世上最難降的妖魔是什么镐躲? 我笑而不...
    開封第一講書人閱讀 56,340評論 1 283
  • 正文 為了忘掉前任储玫,我火速辦了婚禮,結果婚禮上萤皂,老公的妹妹穿的比我還像新娘撒穷。我一直安慰自己,他們只是感情好裆熙,可當我...
    茶點故事閱讀 65,404評論 5 384
  • 文/花漫 我一把揭開白布端礼。 她就那樣靜靜地躺著,像睡著了一般入录。 火紅的嫁衣襯著肌膚如雪蛤奥。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,749評論 1 289
  • 那天僚稿,我揣著相機與錄音凡桥,去河邊找鬼。 笑死蚀同,一個胖子當著我的面吹牛缅刽,可吹牛的內容都是我干的。 我是一名探鬼主播蠢络,決...
    沈念sama閱讀 38,902評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼衰猛,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了刹孔?” 一聲冷哼從身側響起啡省,我...
    開封第一講書人閱讀 37,662評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎髓霞,沒想到半個月后卦睹,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經...
    沈念sama閱讀 44,110評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡酸茴,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年分预,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片薪捍。...
    茶點故事閱讀 38,577評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出酪穿,到底是詐尸還是另有隱情凳干,我是刑警寧澤,帶...
    沈念sama閱讀 34,258評論 4 328
  • 正文 年R本政府宣布被济,位于F島的核電站救赐,受9級特大地震影響,放射性物質發(fā)生泄漏只磷。R本人自食惡果不足惜经磅,卻給世界環(huán)境...
    茶點故事閱讀 39,848評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望钮追。 院中可真熱鬧预厌,春花似錦、人聲如沸元媚。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,726評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽刊棕。三九已至炭晒,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間甥角,已是汗流浹背网严。 一陣腳步聲響...
    開封第一講書人閱讀 31,952評論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留嗤无,地道東北人屿笼。 一個月前我還...
    沈念sama閱讀 46,271評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像翁巍,于是被迫代替她去往敵國和親驴一。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,452評論 2 348

推薦閱讀更多精彩內容

  • mysql邏輯架構 和其它數(shù)據(jù)庫相比胸懈,MySQL有點與眾不同,它的架構可以在多種不同場景中應用并發(fā)揮良好作用恰响。主要...
    tj_鐵蛋兒閱讀 597評論 0 0
  • 大家或多或少都用過 MySQL趣钱,起碼 select 還是會用的吧,但是 select 執(zhí)行后胚宦,MySQL 內部到底...
    Y了個J閱讀 1,370評論 0 1
  • 微信公眾號:一個優(yōu)秀的廢人如有問題或建議,請后臺留言井联,我會盡力解決你的問題卜壕。 前言 高產似母豬,廢話少說烙常,今天剛好...
    JavaFish閱讀 487評論 0 0
  • 第一講:基礎架構:一條SQL查詢語句是如何執(zhí)行的轴捎? 1、MySQL 的基本架構示意圖 大體來說Mysql分為兩部分...
    Timor小先生閱讀 494評論 0 0
  • 推薦指數(shù): 6.0 書籍主旨關鍵詞:特權蚕脏、焦點侦副、注意力、語言聯(lián)想驼鞭、情景聯(lián)想 觀點: 1.統(tǒng)計學現(xiàn)在叫數(shù)據(jù)分析秦驯,社會...
    Jenaral閱讀 5,705評論 0 5