Mysql中sql執行的過程

2021-10-07 22:43:36 字數 540 閱讀 5282

1、客戶端和伺服器建立連線,傳送請求

2、伺服器先檢查查詢快取。如果在查詢快取中發現了該sql,則會進行許可權校驗,許可權校驗通過,直接返回結果。如果查詢快取中沒有,則進入下面的步驟(對應查詢快取這一過程,8.0這一過程已經不存在了,8.0完全拋棄了這個功能)

3、伺服器對sql進行解析。識別出sql裡面的字串是否符合標準,比如select關鍵字不能寫錯。識別出sql裡面的字串的具體意思是什麼,比如t1是表名,c1是列名(對應解析器這一過程)

4、伺服器對sql進行預處理。確定sql的執行路徑,比如走索引還是全表,多表連線時哪張表先走哪張表後走

5、伺服器對sql進行查詢優化。當你的where條件的可讀性和效率有衝突時mysql內部還會自動進行優化,也就是大家理解的重寫where子句。計算各項查詢方法的成本、生成對應的執行計畫(對應優化器這一過程)

6、伺服器呼叫儲存引擎的api來執行該sql語句,並將結果傳送給客戶端(對應執行器這一過程)

mysql中SQL執行過程詳解

mysql執行乙個查詢的過程,到底做了些什麼 實際上mysql執行的每一步都比較複雜,具體的過程如下 1 mysql客戶端和伺服器通訊 mysql客戶端和伺服器之間的通訊協議是 半雙工 的,這意味著,在任何乙個時刻,要麼由伺服器向客戶端傳送資料,要麼由客戶端向伺服器傳送資料,這兩個動作不能同時發生。...

mysql 過程 動態執行sql

begin declare v sql varchar 500 declare v table name varchar 20 declare v date time varchar 20 set v date time date format now y m d select v date tim...

MySql之sql執行過程

mysql是乙個關係型資料庫管理系統,由瑞典mysql ab 公司開發,目前屬於 oracle 旗下產品。mysql 是最流行的關係型資料庫管理系統之一,在 web 應用方面,mysql是最好的 rdbms relational database management system,關聯式資料庫管理...