五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網 會員登陸 & 注冊

一條SQL查詢語句是如何執(zhí)行的? MySql雜談

2021-03-03 18:58 作者:早起的年輕人  | 我要投稿

在碼農的世界里,優(yōu)美的應用體驗,來源于程序員對細節(jié)的處理以及自我要求的境界,年輕人也是忙忙碌碌的碼農中一員,每天、每周,都會留下一些腳印,就是這些創(chuàng)作的內容,有一種執(zhí)著,就是不知為什么,如果你迷茫,不妨來瞅瞅碼農的軌跡。


如下所示,一條普通的查詢語句,你看到的是無數的用戶列表信息展示出來

當你點擊執(zhí)行這條查詢指令時,你知道發(fā)生了什么嗎 ???


1 第一步 建立連接

第一步,你的客戶端會先連接到這個數據庫上,這時候對接的就是連接器,連接器負責跟客戶端建立連接、獲取權限、維持和管理連接。


然后連接器根據你提供的用戶名與密碼信息進行校驗而創(chuàng)建連接


2 第二步 經典查詢緩存

連接建立完成后,第二步就是查詢緩存。

當mysql拿到這個查詢后,會先到查詢緩存檢查查看之前是不是執(zhí)行過這條語句,如果執(zhí)行過,那么會將查詢語句及其結果以 key-value 對的形式緩存在內存中(key 是查詢的 語句,value 是查詢的結果),查詢到,就直接反回結果給客戶端


之所以稱之為經典查詢緩存,是因為MySQL 8.0 版本直接將查詢緩存的整塊功能刪掉了,查詢緩存往往弊大于利,查詢緩存的失效非常頻繁,只要有對一個表的更新,這個表上所有的查詢緩存都會被清空。


3 第三步 分析器 分析語法

分析器先會做“詞法分析”,分析關鍵字 如 select 、update這一類的,然后將其他字符串識別成表中的列


然后再做語法分析,結合詞法的結果來進行 語法分析, 檢查輸入的SQL 語句是否滿足 MySQL 語法


如果語法不對,就會收到“You have an error in your SQL syntax”的錯誤提醒,一般語法錯誤會提示第一個出現錯誤的位置,檢查緊接“use near”的內容部分解決就好。


4 第四步 優(yōu)化器

分析器校驗SQL語法后,MySql就知道輸入的SQL將要做什么,接下來就是進一步的優(yōu)化,具體操作如當查詢表里面有多個索引的時候,優(yōu)化器決定使用哪個索引;或者在一個語句有多表關聯 (join)的時候,決定各個表的連接順序。


5 第五步 執(zhí)行器

執(zhí)行器是用來操作數據存儲引擎的,分析器分析SQL的目標,優(yōu)化器決定執(zhí)行的方案,執(zhí)行器負責執(zhí)行職責。



一條SQL查詢語句是如何執(zhí)行的? MySql雜談的評論 (共 條)

分享到微博請遵守國家法律
义马市| 慈利县| 白河县| 宁夏| 陆河县| 化隆| 克什克腾旗| 莒南县| 新河县| 湾仔区| 秭归县| 青铜峡市| 襄樊市| 剑川县| 建昌县| 石林| 茌平县| 六枝特区| 泉州市| 忻州市| 韶山市| 台东县| 科技| 南城县| 达日县| 天台县| 丁青县| 咸丰县| 甘孜| 尚志市| 隆昌县| 盘锦市| 永福县| 商南县| 长顺县| 新丰县| 陆良县| 格尔木市| 曲沃县| 定西市| 甘德县|