MySQL / 基本架构介绍
生活随笔
收集整理的這篇文章主要介紹了
MySQL / 基本架构介绍
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目錄
一、基本架構圖
二、連接器
三、查詢緩存
四、分析器
五、優化器
六、執行器
一、基本架構圖
二、連接器
1、與 Client 進行三次握手建立連接。指令如下:
mysql -h (ip) -P (port) -u (username) -p若賬號密碼錯誤,則報如下錯誤:
Access denied for user連接若不存在交互,時間超過 wait_timeout 之后,該連接會斷開。?
2、從權限表中讀取該 Client 所擁有的權限。
3、連接分為長連接和短連接。前者是 Client 持續的請求,都是用同一個連接;后者是執行完很少的幾次查詢之后就斷開連接,下次查詢時需要再次進行連接。
4、長連接也有弊病,很多臨時的內存需要等到連接斷開之后才能關閉,這就導致了隨著連接的時間的增長,內存消耗會加大,最終導致 MySQL 被系統殺掉,即:異常重啟。解決辦法如下:
(1)定期斷開連接。檢測執行完一次占用內存大的查詢之后,就斷開連接。
(2)重置連接至剛創建完時的狀態。函數:
mysql_reset_connection三、查詢緩存
1、執行過的指令和結果會以 key-value 對的形式保存。
2、優勢是提高 MySQL 的查詢效率。
3、弊病是每次表更新之后,該緩存就會清空。
四、分析器
1、詞法分析。
2、語法分析。經常報錯如下:
You have an error in your SQL syntax.五、優化器
? ? ? ?決定使用哪一個索引,決定各個表的關聯順序,即:確定執行方案。
六、執行器
1、確定優化器返回的執行方案是否有權限。
2、打開表進行操作。
?
參考:極客時間,《MySQL實戰45講》第2講。
(SAW:Game Over!)
總結
以上是生活随笔為你收集整理的MySQL / 基本架构介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Cpp 对象模型探索 / 成员初始化列表
- 下一篇: 数据库 / 事务的 ACID