(一)一條SQL查詢語句是如何執行的

2021-10-20 01:13:21 字數 614 閱讀 4903

mysql基本架構示意圖:

mysql 可以分為 server 層和儲存引擎層兩部分。

server 層:包括聯結器、查詢快取、分析器、優化器、執行器等,涵蓋 mysql 的大多數核 心服務功能,以及所有的內建函式(如日期、時間、數學和加密函式等),所有跨儲存引 擎的功能都在這一層實現,比如儲存過程、觸發器、檢視等。

儲存引擎層:負責資料的儲存和提取。其架構模式是外掛程式式的,支援 innodb、 myisam、memory 等多個儲存引擎。現在最常用的儲存引擎是 innodb,它從 mysql 5.5.5 版本開始成為了預設儲存引擎。

執行sql的順序為 聯結器 --> 查詢快取 --> 分析器 --> 優化器 --> 執行器 --> 儲存引擎

各自功能及過程如下圖:

內容來自:丁奇的 mysql實戰45講 課程。

一條SQL查詢語句是如何執行的

mysql可以分為server層和儲存引擎層兩部分 一條普通的查詢語是怎樣執行並返回結果了 聯結器查詢快取 大多數情況下建議不要使用查詢快取,查詢快取往往弊大於利。查詢快取的失效非常頻繁,只要有對乙個表的更新,這個表上所有的查詢快取都會被清空。分析器優化器 比如你執行下面這樣的語句,這個語句是執行兩...

一條SQL查詢語句是如何執行的?

我們在寫sql的時候crud這些基本的操作想必大家已經是得心應手了,專欄會更傾向於sql優化與執行過程模型的角度重新學習sql,方便大家在做效能優化上更加熟練。select from t where id 10 接下來我們來拆解一下這個sql語句,從中就可以看出sql在mysql中各個模組的執行過程...

一條SQL查詢語句是如何執行的

大體來說,mysql分為 server 層和儲存引擎層,server 層有聯結器 分析器 優化器 執行器和查詢快取 其中,客戶端發出請求與聯結器建立連線並獲取許可權,分析器對sql語句做分析並判斷是否正確 優化器決定使用哪個索引,生成執行計畫,決定多表連線中表的連線順序。執行器執行語句,操作儲存引擎...