mysql基本架构_MySQL的基本架构
MySQL的基本架構
發布時間:2019-02-16 23:35,
瀏覽次數:178
, 標簽:
MySQL
MySql的基本架構示意圖如下:
一、MySQL總體上可分為Server層和存儲引擎層。
Server層包括連接器、查詢器、分析器、優化器、執行器等,涵蓋 MySQL
的大多數核心服務功能,以及所有的內置函數(如日期、時間、數學和加密函數等),所有跨存儲引擎的功能都在這一層實現,比如存儲過程、觸發器、視圖等。
存儲引擎層負責數據的存儲和提取。其架構模式是插件式的,支持 InnoDB、MyISAM、Memory 等多個存儲引擎?,F在最常用的存儲引擎是
InnoDB,它從 MySQL 5.5.5 版本開始成為了默認存儲引擎。
二、Server層組成部分
連接器
連接器主要負責客戶端與數據庫服務的連接工作。可通過命令:show processlist
查詢當前可用的連接進程的狀態??蛻舳诉B接后,如果長時間沒有通訊連接,則會自動斷開連接,默認wait_timeout參數的值是8小時。
分析器
分析器主要是通過詞法分析你的sql語句,用來告訴MySQL你要干什么。這個時候,如果你的sql語句有語法錯誤,就會報異常:“You have an
error in your SQL syntax”
優化器
優化器主要是通過你的sql語句,選擇一種最優的方式,告訴MySQL該如何執行該語句。比如如下sql語句:
select * from t1 join t2 using(ID) where t1.a=10 and t2.b=20
那么優化器就會考慮是先通過t1.a=10查詢t1的結果值,還是先通過t2.b查詢t2的結果。優化器會自動判斷出效率最高的一種執行方式,通知MySQL去執行。
執行器
執行器通過操作引擎,將sql語句執行的結果,返回給客戶端。
查詢緩存
查詢緩存顧名思義是用來緩存結果數據的。為什么放到最后來說,是因為在MySQL8.0版本已經沒有這個功能了。這個功能弊大于利,當查詢結果命中查詢緩存時,會直接返回結果。但大多數時候,我們的使用場景更新的頻率會非常頻繁,當某一個表中有一條更新數據時,會將該表的查詢緩存結果全部清空,效率會非常低??梢允褂迷谝恍┫到y配置表,等更新不頻繁的表中。當然我們可手動選擇是否開啟,參數是:query_cache_type.
總結
以上是生活随笔為你收集整理的mysql基本架构_MySQL的基本架构的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ltv价值 应用_用户终生价值Ltv是什
- 下一篇: 四书五经中的四书是指什么 一起来学习吧