Mysql學(xué)習(xí)筆記(一):Mysql的架構(gòu)

一窝爪、mysql的組成部分

? ? 下面是來自Mysql實戰(zhàn)的圖片洒放,該圖片很好的表示了mysql的組成

? ??

mysql架構(gòu)圖

? ? 我們主要是和server層打交道蛉鹿,該層由連接器,分析器往湿,優(yōu)化器執(zhí)行器妖异、(查詢緩存)組成

二、連接器的作用

? ? 每個客戶端的連接都會有一個線程(在mysql5.5之后,mysql支持線程池插件领追,使得少數(shù)線程可以服務(wù)大量的服務(wù)的連接)他膳。

? ? 首先,再進行三次握手之后绒窑,建立了網(wǎng)絡(luò)連接棕孙,然校驗用戶名,原始主機信息和密碼些膨。當(dāng)然蟀俊,在校驗通過后,連接器回去權(quán)限表里面獲取用戶的權(quán)限订雾。這里肢预,這個權(quán)限將會在整個連接中被使用,即使后來修改了權(quán)限表洼哎,該權(quán)限也不會改變烫映,只能重新建立連接來修改權(quán)限。

? ? 在建立完成連接后噩峦,若沒有其余的操作锭沟,那么該連接會處于空閑狀態(tài)。這里使用show processlist來查看识补,這里冈钦,那些sleep為空閑連接,若sleep長時間不使用李请,會斷開連接瞧筛,該時間可以通過修改wait_timeout來修改,默認(rèn)為8小時导盅。建立連接相對復(fù)雜较幌,要盡量避免頻繁的建立連接,但是大量的長連接白翻,會十分占用內(nèi)存乍炉。因為mysql臨時使用的內(nèi)存是存放在連接對象當(dāng)中的绢片。

? ??怎么解決這個問題呢?你可以考慮以下兩種方案岛琼。

????定期斷開長連接底循。使用一段時間,或者程序里面判斷執(zhí)行過一個占用內(nèi)存的大查詢后槐瑞,斷開連接熙涤,之后要查詢再重連。

????如果你用的是 MySQL 5.7 或更新版本困檩,可以在每次執(zhí)行一個比較大的操作后祠挫,通過執(zhí)行 mysql_reset_connection 來重新初始化連接資源。這個過程不需要重連和重新做權(quán)限驗證悼沿,但是會將連接恢復(fù)到剛剛創(chuàng)建完時的狀態(tài)等舔。

三、查詢緩存

? ? 該模塊并不是很實用糟趾,因為每次對表有修改操作慌植,都會清空該表的緩存,因此义郑,該功能只對那些基本不會修改的表(配置表等)蝶柿,查詢遠(yuǎn)遠(yuǎn)大于修改的表有一定的作用。因此在mysql8.0之后將該功能直接刪除了魔慷。

四、分析器???

? ? Mysql會解析查詢著恩,創(chuàng)建內(nèi)部數(shù)據(jù)結(jié)構(gòu)(解析樹)院尔,對其進行優(yōu)化,如喉誊,重寫查詢邀摆,決定表的讀取順序,選擇合適的索引等伍茄。當(dāng)然栋盹,這些優(yōu)化是在保證查詢不會改表查詢結(jié)構(gòu)前提下的,有點類似指令重排序敷矫。

? ? 優(yōu)化器會受到存儲引擎的影響例获,它會請求存儲引擎提供其存儲容量以及某個具體操作的開銷,以及表數(shù)據(jù)的統(tǒng)計信息等曹仗。

五榨汤、執(zhí)行器

? ? 進入執(zhí)行階段,先會驗證用戶對該表有沒有執(zhí)行權(quán)限(連接時候獲取的權(quán)限)怎茫。

? ? 對于在執(zhí)行階段收壕,條件是否有索引妓灌,先進行一個粗略的介紹。若條件不是索引蜜宪,那么虫埂,會執(zhí)行全表掃描。而索引的話圃验,它會按照一定的規(guī)則排好序掉伏,那么,就可以直接定位到指定的行损谦。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末岖免,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子照捡,更是在濱河造成了極大的恐慌颅湘,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,755評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件栗精,死亡現(xiàn)場離奇詭異闯参,居然都是意外死亡,警方通過查閱死者的電腦和手機悲立,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評論 3 395
  • 文/潘曉璐 我一進店門鹿寨,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人薪夕,你說我怎么就攤上這事脚草。” “怎么了原献?”我有些...
    開封第一講書人閱讀 165,138評論 0 355
  • 文/不壞的土叔 我叫張陵馏慨,是天一觀的道長。 經(jīng)常有香客問我姑隅,道長写隶,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,791評論 1 295
  • 正文 為了忘掉前任讲仰,我火速辦了婚禮慕趴,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘鄙陡。我一直安慰自己冕房,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,794評論 6 392
  • 文/花漫 我一把揭開白布趁矾。 她就那樣靜靜地躺著毒费,像睡著了一般。 火紅的嫁衣襯著肌膚如雪愈魏。 梳的紋絲不亂的頭發(fā)上觅玻,一...
    開封第一講書人閱讀 51,631評論 1 305
  • 那天想际,我揣著相機與錄音,去河邊找鬼溪厘。 笑死胡本,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的畸悬。 我是一名探鬼主播侧甫,決...
    沈念sama閱讀 40,362評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼蹋宦!你這毒婦竟也來了披粟?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,264評論 0 276
  • 序言:老撾萬榮一對情侶失蹤冷冗,失蹤者是張志新(化名)和其女友劉穎守屉,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蒿辙,經(jīng)...
    沈念sama閱讀 45,724評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡拇泛,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了思灌。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片俺叭。...
    茶點故事閱讀 40,040評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖泰偿,靈堂內(nèi)的尸體忽然破棺而出熄守,到底是詐尸還是另有隱情,我是刑警寧澤耗跛,帶...
    沈念sama閱讀 35,742評論 5 346
  • 正文 年R本政府宣布裕照,位于F島的核電站,受9級特大地震影響课兄,放射性物質(zhì)發(fā)生泄漏牍氛。R本人自食惡果不足惜晨继,卻給世界環(huán)境...
    茶點故事閱讀 41,364評論 3 330
  • 文/蒙蒙 一烟阐、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧紊扬,春花似錦蜒茄、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至腹缩,卻和暖如春屿聋,著一層夾襖步出監(jiān)牢的瞬間空扎,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評論 1 270
  • 我被黑心中介騙來泰國打工润讥, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留转锈,地道東北人。 一個月前我還...
    沈念sama閱讀 48,247評論 3 371
  • 正文 我出身青樓楚殿,卻偏偏與公主長得像撮慨,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子脆粥,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,979評論 2 355

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