最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

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

一條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雜談的評論 (共 條)

分享到微博請遵守國家法律
哈巴河县| 吴桥县| 兰西县| 南岸区| 新干县| 任丘市| 宁阳县| 科尔| 仲巴县| 隆尧县| 淳安县| 台北市| 阿鲁科尔沁旗| 平阳县| 班戈县| 乾安县| 淮安市| 陈巴尔虎旗| 罗定市| 格尔木市| 清涧县| 高陵县| 乐清市| 镇原县| 佳木斯市| 忻城县| 岳阳县| 留坝县| 大竹县| 陈巴尔虎旗| 隆子县| 镇赉县| 张家界市| 商丘市| 庆安县| 揭阳市| 南通市| 桂阳县| 濮阳县| 肇源县| 永康市|