中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

自己做網(wǎng)站需要服務(wù)器嗎google付費推廣

自己做網(wǎng)站需要服務(wù)器嗎,google付費推廣,政府網(wǎng)站建設(shè)排名,wordpress添加新文章類型文章目錄 第一節(jié)、邏輯架構(gòu)剖析1.1、服務(wù)器處理客戶端請求1.2、Connectors1.3、第1層:連接層1.4、第2層:服務(wù)層1.5、 第3層:引擎層1.6、 存儲層1.7、小結(jié) 第二節(jié)、SQL執(zhí)行流程2.1、查詢緩存2.2、解析器2.3、優(yōu)化器2.4、執(zhí)行器 第三節(jié)、數(shù)據(jù)庫…

文章目錄

  • 第一節(jié)、邏輯架構(gòu)剖析
    • 1.1、服務(wù)器處理客戶端請求
    • 1.2、Connectors
    • 1.3、第1層:連接層
    • 1.4、第2層:服務(wù)層
    • 1.5、 第3層:引擎層
    • 1.6、 存儲層
    • 1.7、小結(jié)
  • 第二節(jié)、SQL執(zhí)行流程
    • 2.1、查詢緩存
    • 2.2、解析器
    • 2.3、優(yōu)化器
    • 2.4、執(zhí)行器
  • 第三節(jié)、數(shù)據(jù)庫緩沖池(buffer pool)

第一節(jié)、邏輯架構(gòu)剖析

1.1、服務(wù)器處理客戶端請求

不論客戶端進(jìn)程和服務(wù)器進(jìn)程是采用哪種方式進(jìn)行通信,最后實現(xiàn)的效果都是:客戶端進(jìn)程向服務(wù)器進(jìn)程發(fā)送一段文本(SQL語句),服務(wù)器進(jìn)程處理后再向客戶端進(jìn)程發(fā)送一段文本(處理結(jié)果)。
在這里插入圖片描述
在這里插入圖片描述

上圖的處理流程在MySQL5.7和8.0中有所不同,只是一個通用的處理流程,后續(xù)會有更詳細(xì)的講解。

1.2、Connectors

Connectors,指的是不同語言中與SQL的交互。MySQL首先是一個網(wǎng)絡(luò)程序,在TCP之上定義了自己的應(yīng)用層協(xié)議。所以要使用MySQL,我們可以編寫代碼,跟MySQL Server建立TCP連接,之后按照其定義好的協(xié)議進(jìn)行交互。或者比較方便的辦法是調(diào)用SDK,比如Native C API、JDBC、PHP等各語言MysQL Connector,或者通過ODBC。但通過SDK來訪問MysQL,本質(zhì)上還是在TCP連接上通過MySQL協(xié)議跟MySQL進(jìn)行交互。

1.3、第1層:連接層

系統(tǒng)(客戶端)訪問MySQL 服務(wù)器前,做的第一件事就是建立TCP連接。
經(jīng)過三次握手建立連接成功后,MySQL服務(wù)器對TCP傳輸過來的賬號密碼做身份認(rèn)證、權(quán)限獲取。

1.4、第2層:服務(wù)層

第二層架構(gòu)主要完成大多數(shù)的核心服務(wù)功能,如SQL接口,并完成緩存的查詢,SQL的分析和優(yōu)化及部分內(nèi)置函數(shù)的執(zhí)行。所有跨存儲引擎的功能也在這一層實現(xiàn),如過程、函數(shù)等。
在該層,服務(wù)器會解析查詢并創(chuàng)建相應(yīng)的內(nèi)部解析樹,并對其完成相應(yīng)的優(yōu)化︰如確定查詢表的順序,是否利用索引等,最后生成相應(yīng)的執(zhí)行操作。
如果是SELECT語句,服務(wù)器還會查詢內(nèi)部的緩存。如果緩存空間足夠大,這樣在解決大量讀操作的環(huán)境中能夠很好的提升系統(tǒng)的性能。

  • SQL Interface: SQL接口
    1.接收用戶的SQL命令,并且返回用戶需要查詢的結(jié)果。比如SELECT … FROM就是調(diào)用SQLInterface。
    2.MySQL支持DML(數(shù)據(jù)操作語言)、DDL(數(shù)據(jù)定義語言)、存儲過程、視圖、觸發(fā)器、自定義函數(shù)等多種SQL語言接口。

  • Parser: 解析器
    1.在解析器中對 SQL 語句進(jìn)行語法分析、語義分析。將SQL語句分解成數(shù)據(jù)結(jié)構(gòu),并將這個結(jié)構(gòu)傳遞到后續(xù)步驟,以后SQL語句的傳遞和處理就是基于這個結(jié)構(gòu)的。如果在分解構(gòu)成中遇到錯誤,那么就說明這個SQL語句是不合理的。
    2.在SQL命令傳遞到解析器的時候會被解析器驗證和解析,并為其創(chuàng)建 語法樹 ,并根據(jù)數(shù)據(jù)字典豐富查詢語法樹,會 驗證該客戶端是否具有執(zhí)行該查詢的權(quán)限 。創(chuàng)建好語法樹后,MySQL還會對SQl查詢進(jìn)行語法上的優(yōu)化,進(jìn)行查詢重寫。

  • Optimizer: 查詢優(yōu)化器
    1.SQL語句在語法解析之后、查詢之前會使用查詢優(yōu)化器確定 SQL 語句的執(zhí)行路徑,生成一個執(zhí)行計劃 。
    2.這個執(zhí)行計劃表明應(yīng)該 使用哪些索引 進(jìn)行查詢(全表檢索還是使用索引檢索),表之間的連接順序如何,最后會按照執(zhí)行計劃中的步驟調(diào)用存儲引擎提供的方法來真正的執(zhí)行查詢,并將查詢結(jié)果返回給用戶。

  • Caches & Buffers: 查詢緩存組件
    1.MySQL內(nèi)部維持著一些Cache和Buffer,比如Query Cache用來緩存一條SELECT語句的執(zhí)行結(jié)果,如果能夠在其中找到對應(yīng)的查詢結(jié)果,那么就不必再進(jìn)行查詢解析、優(yōu)化和執(zhí)行的整個過程了,直接將結(jié)果反饋給客戶端。
    2.從MySQL 5.7.20開始,不推薦使用查詢緩存,并在 MySQL 8.0中刪除 。

1.5、 第3層:引擎層

插件式存儲引擎層( Storage Engines),真正的負(fù)責(zé)了MySQL中數(shù)據(jù)的存儲和提取,對物理服務(wù)器級別維護(hù)的底層數(shù)據(jù)執(zhí)行操作,服務(wù)器通過API與存儲引擎進(jìn)行通信。不同的存儲引擎具有的功能不同,這樣我們可以根據(jù)自己的實際需要進(jìn)行選取。

1.6、 存儲層

所有的數(shù)據(jù),數(shù)據(jù)庫、表的定義,表的每一行的內(nèi)容,索引,都是存在 文件系統(tǒng) 上,以 文件 的方式存在的,并完成與存儲引擎的交互。當(dāng)然有些存儲引擎比如InnoDB,也支持不使用文件系統(tǒng)直接管理裸設(shè)備,但現(xiàn)代文件系統(tǒng)的實現(xiàn)使得這樣做沒有必要了。在文件系統(tǒng)之下,可以使用本地磁盤,可以使用DAS、NAS、SAN等各種存儲系統(tǒng)。

1.7、小結(jié)

在這里插入圖片描述

  1. 連接層:客戶端和服務(wù)器端建立連接,客戶端發(fā)送 SQL 至服務(wù)器端;
  2. SQL 層(服務(wù)層):對 SQL 語句進(jìn)行查詢處理;與數(shù)據(jù)庫文件的存儲方式無關(guān);
  3. 存儲引擎層:與數(shù)據(jù)庫文件打交道,負(fù)責(zé)數(shù)據(jù)的存儲和讀取。

第二節(jié)、SQL執(zhí)行流程

在這里插入圖片描述

2.1、查詢緩存

如果在查詢緩存中發(fā)現(xiàn)了這條 SQL 語句,就會直接將結(jié)果返回給客戶端;如果沒有,就進(jìn)入到解析器階段。需要說明的是,因為查詢緩存往往效率不高,所以在 MySQL8.0 之后就拋棄了這個功能。

查詢緩存是提前把查詢結(jié)果緩存起來,這樣下次不需要執(zhí)行就可以直接拿到結(jié)果。需要說明的是,在MySQL 中的查詢緩存,不是緩存查詢計劃,而是查詢對應(yīng)的結(jié)果。這就意味著查詢匹配的 魯棒性大大降低 ,只有 相同的查詢操作才會命中查詢緩存 。兩個查詢請求在任何字符上的不同(例如:空格、注釋、大小寫),都會導(dǎo)致緩存不會命中。因此 MySQL 的 查詢緩存命中率不高 。

2.2、解析器

在解析器中對 SQL 語句進(jìn)行語法分析、語義分析。說白了就是看SQL語句的寫法對不對,如果語法沒問題,再看SQL語句的各個部分是做什么的。

2.3、優(yōu)化器

在優(yōu)化器中會確定 SQL 語句的執(zhí)行路徑,比如是根據(jù) 全表檢索 ,還是根據(jù) 索引檢索 等。經(jīng)過上一步的解析器,MySQL就知道你要做什么了。在開始執(zhí)行之前,還要先經(jīng)過優(yōu)化器的處理。一條查詢可以有很多種執(zhí)行方式,最后都返回相同的結(jié)果。優(yōu)化器的作用就是找到這其中最好的執(zhí)行計劃。

比如:優(yōu)化器是在表里面有多個索引的時候,決定使用哪個索引;或者在一個語句有多表關(guān)聯(lián)(join)的時候,決定各個表的連接順序,還有表達(dá)式簡化、子查詢轉(zhuǎn)為連接、外連接轉(zhuǎn)為內(nèi)連接等。

2.4、執(zhí)行器

在這里插入圖片描述

SQL的執(zhí)行流程在5.78.0中有所不同,后續(xù)如果有需要再進(jìn)行詳細(xì)學(xué)習(xí)。

第三節(jié)、數(shù)據(jù)庫緩沖池(buffer pool)

http://www.risenshineclean.com/news/66121.html

相關(guān)文章:

  • flash 網(wǎng)站頭部東莞做網(wǎng)站公司電話
  • wordpress 輪播圖插件下載惠州抖音seo
  • 網(wǎng)站 http 狀態(tài)碼返回值 301百度在線識圖查圖片
  • 怎么用自己的主機(jī)做網(wǎng)站服務(wù)器嗎企業(yè)宣傳片文案
  • 美國做ppt的網(wǎng)站有人百度看片嗎
  • 公司網(wǎng)站制作哪家公司好百度網(wǎng)站app下載
  • 做那種網(wǎng)站受歡迎網(wǎng)絡(luò)公司網(wǎng)頁設(shè)計
  • 國外網(wǎng)購網(wǎng)站十大排名seo站長常用工具
  • vi設(shè)計 站酷公司網(wǎng)站推廣方法
  • 免費制作視頻安徽網(wǎng)絡(luò)優(yōu)化公司
  • 網(wǎng)站建設(shè) 王衛(wèi)洲關(guān)鍵詞排名優(yōu)化易下拉排名
  • 網(wǎng)站建設(shè)域名什么意思付費推廣有幾種方式
  • 北京知名網(wǎng)站建設(shè)公司東莞百度seo哪里強(qiáng)
  • 我英文網(wǎng)站建設(shè)石家莊網(wǎng)站seo
  • 南昌網(wǎng)站建設(shè)公司好么外貿(mào)營銷型網(wǎng)站設(shè)計
  • c 網(wǎng)站開發(fā) 視頻網(wǎng)絡(luò)營銷案例分析論文
  • 網(wǎng)站制作二級網(wǎng)頁怎么做網(wǎng)絡(luò)推廣預(yù)算方案
  • wordpress的圖片插件優(yōu)化防疫措施
  • 山西互聯(lián)網(wǎng)公司ui設(shè)計師招聘網(wǎng)aso關(guān)鍵詞排名優(yōu)化是什么
  • 精品網(wǎng)站建設(shè)公司域名查詢官網(wǎng)
  • 網(wǎng)站推廣軟文范例排名優(yōu)化哪家專業(yè)
  • 上海做網(wǎng)站公司品劃網(wǎng)絡(luò)app推廣平臺有哪些
  • 三合一網(wǎng)站和傳統(tǒng)網(wǎng)站百度賬號管理中心
  • 群團(tuán)組織網(wǎng)站建設(shè)網(wǎng)絡(luò)營銷與管理
  • 網(wǎng)站建設(shè)需要政府集中采購嗎百度快照投訴中心人工電話
  • 微站是什么意思網(wǎng)站設(shè)計開發(fā)網(wǎng)站
  • 微信的微網(wǎng)站模板下載不了營銷型網(wǎng)站策劃書
  • 中衛(wèi)網(wǎng)站推廣制作電商培訓(xùn)課程
  • 建站之星備案百度推廣售后
  • 網(wǎng)站建設(shè)服務(wù)哪家好seo免費推廣