欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

MySQL架構(gòu)組件的示例分析

這篇文章將為大家詳細(xì)講解有關(guān)MySQL架構(gòu)組件的示例分析,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

創(chuàng)新互聯(lián)是一家專業(yè)提供日土企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站建設(shè)、網(wǎng)站制作H5開(kāi)發(fā)、小程序制作等業(yè)務(wù)。10年已為日土眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)的建站公司優(yōu)惠進(jìn)行中。

總體架構(gòu)

MySQL架構(gòu)組件的示例分析

一. 連接器

??連接器主要負(fù)責(zé)跟客戶端建立連接、權(quán)限驗(yàn)證和管理連接,可以使用命令show processlist查看連接信息。當(dāng)一個(gè)用戶連接創(chuàng)建成功之后,權(quán)限信息就已經(jīng)讀入內(nèi)存,之后再修改該用戶的權(quán)限,如果不刷新的話,則無(wú)法生效。

??對(duì)于一個(gè)連接,如果長(zhǎng)時(shí)間沒(méi)有收到指令(處于空閑狀態(tài)),那么達(dá)到一定的時(shí)間之后,連接器會(huì)斷開(kāi)這個(gè)鏈接。這個(gè)時(shí)間由參數(shù)wait_timeout控制,默認(rèn)為8小時(shí)。

??連接器中的連接分為長(zhǎng)連接和短連接:

  • 長(zhǎng)連接:連接成功后,客戶端請(qǐng)求使用同一個(gè)連接

  • 短連接:每次執(zhí)行完請(qǐng)求后會(huì)斷開(kāi)連接,再有請(qǐng)求會(huì)重新建立連接

??由于在平時(shí)我們一般為了避免頻繁反復(fù)創(chuàng)建連接的開(kāi)銷,都是使用的長(zhǎng)連接,也就是長(zhǎng)期維持一個(gè)連接不斷開(kāi)。但是要注意,一個(gè)連接管理了其在使用過(guò)程中占用的一些內(nèi)存,會(huì)在連接斷開(kāi)的時(shí)候隨連接一起釋放。如果連接不斷開(kāi),長(zhǎng)期不處理一直堆積,則可能導(dǎo)致內(nèi)存占用過(guò)大,被系統(tǒng)強(qiáng)殺。一般有兩個(gè)解決方案:

  • 定期斷開(kāi)長(zhǎng)連接,每隔一段時(shí)間或執(zhí)行一個(gè)占用大量?jī)?nèi)存的查詢之后斷開(kāi)連接,從而釋放內(nèi)存,當(dāng)需要查詢的時(shí)候再重新創(chuàng)建連接

  • 5.7之后的版本可以使用mysql_reset_connection來(lái)重新初始化連接資源,不需要重新連接和權(quán)限驗(yàn)證,而將連接恢復(fù)到新建時(shí)的狀態(tài)。同時(shí)也會(huì)有一些其它影響,比如釋放表鎖、清除臨時(shí)表、重置會(huì)話中設(shè)置的變量等等

二、 查詢緩存

注:查詢緩存8.0 版本后被廢除

??連接創(chuàng)建成功之后就可以執(zhí)行SQL語(yǔ)句了,不過(guò)如果開(kāi)啟了查詢緩存,那么在真正分析SQL之前會(huì)先從緩存中查詢,如果緩存命中則直接返回。查詢緩存就是一個(gè)Key-Value結(jié)構(gòu),Key是SQL語(yǔ)句,Value是對(duì)應(yīng)的查詢結(jié)果。如果緩存未命中,就會(huì)繼續(xù)后面的查詢操作。查詢完成之后,會(huì)把結(jié)果存入查詢緩存中。

??為什么查詢緩存會(huì)被刪除呢?因?yàn)椴樵兙彺嫱ǔ1状笥诶H绻麑?duì)一個(gè)表進(jìn)行更新,那么這個(gè)表對(duì)應(yīng)的查詢緩存都會(huì)被清空,對(duì)于經(jīng)常更新的表,查詢緩存的失效會(huì)非常頻繁,基本就不起作用,而且還有更新緩存的開(kāi)銷。對(duì)于那種基本會(huì)保持不變的數(shù)據(jù)表,倒是可以選擇使用查詢緩存,比如系統(tǒng)配置表等,這種表的緩存命中率會(huì)高些,可能能做到利大于弊,不過(guò)對(duì)于這種配置,我們還可以使用外部緩存。

??通過(guò)參數(shù)query_cache_type可以配置查詢緩存,該參數(shù)有3個(gè)可選值,分別為:

  • 0:關(guān)閉查詢緩存

  • 1:開(kāi)啟查詢緩存

  • 2:當(dāng)SQL中有SQL_CACHE關(guān)鍵詞時(shí)使用查詢緩存,比如select SQL_CACHE * from t where xxx;

三、分析器

??如果查詢緩存沒(méi)有命中,那么SQL就需要真正得到執(zhí)行,在執(zhí)行之前需要對(duì)SQL進(jìn)行解析,這個(gè)解析主要分為詞法分析和語(yǔ)法分析兩個(gè)步驟。

  • 詞法分析:從SQL中提取關(guān)鍵詞,比如select 、from、表名、字段名等等

  • 語(yǔ)法分析:根據(jù)詞法分析的結(jié)果和MySQL定義的一些語(yǔ)法規(guī)則檢查SQL語(yǔ)法是否合法,最終會(huì)生成一顆抽象語(yǔ)法樹(shù)(AST)

四、 優(yōu)化器

??優(yōu)化器以分析器生成的AST為輸入,對(duì)SQL進(jìn)行優(yōu)化,生成優(yōu)化器認(rèn)為的最優(yōu)執(zhí)行方案,交給執(zhí)行器執(zhí)行。優(yōu)化過(guò)程包括SQL的邏輯轉(zhuǎn)換和代價(jià)計(jì)算。

??邏輯轉(zhuǎn)化就類似于Java的靜態(tài)編譯期優(yōu)化,會(huì)對(duì)SQL進(jìn)行一些"簡(jiǎn)化",保證SQL轉(zhuǎn)換前后執(zhí)行結(jié)果一致。比如,where 1=1 and a.id = 2,可以相當(dāng)于where a.id = 2。

??代價(jià)計(jì)算的主要目的是選擇SQL執(zhí)行的方式,包括是否使用索引、使用哪個(gè)索引、多表連接使用什么順序等。代價(jià)分為服務(wù)層代價(jià)和引擎層代價(jià),服務(wù)層代價(jià)主要是CPU相關(guān),引擎層代價(jià)則主要是磁盤I/O相關(guān)。MySQL 5.7 引入了兩個(gè)系統(tǒng)表mysql.server_cost和mysql.engine_cost來(lái)配置這兩種代價(jià),表中配置的就是各種操作對(duì)應(yīng)的代價(jià),比如臨時(shí)表創(chuàng)建、排序、頁(yè)讀取等等。

??優(yōu)化器會(huì)根據(jù)生成的查詢計(jì)劃和上述兩種代價(jià)配置來(lái)計(jì)算一個(gè)查詢計(jì)劃的最終代價(jià),在多個(gè)查詢計(jì)劃中選擇代價(jià)最小的那一個(gè)交給執(zhí)行器執(zhí)行。但是要注意,代價(jià)最小,有時(shí)候并不一定代表執(zhí)行時(shí)間就最短。

五、 執(zhí)行器

??執(zhí)行器會(huì)根據(jù)優(yōu)化器選擇的查詢計(jì)劃去執(zhí)行SQL,執(zhí)行之前還會(huì)校驗(yàn)請(qǐng)求用戶是否擁有對(duì)應(yīng)的查詢權(quán)限,最終調(diào)用MySQL引擎層提供的接口,執(zhí)行SQL語(yǔ)句并且返回結(jié)果。如果開(kāi)啟了查詢緩存,結(jié)果還會(huì)存儲(chǔ)在查詢緩存中。

關(guān)于“MySQL架構(gòu)組件的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。

本文題目:MySQL架構(gòu)組件的示例分析
網(wǎng)頁(yè)路徑:http://aaarwkj.com/article46/godseg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、網(wǎng)站設(shè)計(jì)建站公司、軟件開(kāi)發(fā)ChatGPT、網(wǎng)頁(yè)設(shè)計(jì)公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名
深夜十八禁在线免费观看| 精品毛片av一区二区三区| 国产精品午夜福利天堂| 国产在线精品91系列| 亚洲欧洲美洲中文天堂| 不卡视频在线免费观看| 亚洲午夜一区二区三区精品| 亚洲日本精品免费在线观看| 亚洲熟女午夜毛片av毛片| 久久精品国产亚洲av高清综合| 乱色熟女一区二区三区| 日韩亚洲欧洲一区二区三区| 亚洲精品熟女国产国产老熟女 | 麻豆视传媒短视频网站免费| 超碰国产精品一区二区| 亚洲黄色手机在线网站| 国产精品一区二区三区熟女| 亚洲精品香蕉久久情趣| 国产系列在线播放一区二区三区| 日本中文字幕免费专区| 久久国产综合精品电影| 欧美日韩亚洲精品一区二区三区| 福利视频一区二区视频| 在线播放欧美视频91| 亚洲国产av国产av| 麻豆乱淫一区二区三爱免费| 夫妻性生活免费看视频| 国产传媒欧美日韩成人精品| 99久久精品人妻一区| 日产中文乱码字幕无线观看| 亚洲精品欧美无人区乱码| 中文字幕在线日韩av| 欧美日韩国产另类久久| 激情亚洲欧美日韩精品| 麻豆午夜福利在线播放| 亚洲成人av日韩在线| 欧美一区二区国产日韩在线| 亚洲1区2区中文字幕| 欧美欧美欧美欧美一二三区| 日本人妻系列中文字幕| 91综合午夜精品福利|