mysql邏輯圖
mysql更新內部原理
一窒篱、mysql原理圖
1焕刮、連接池:mysql會提前初始化好一個連接池,負責對mysql外部進行連接的客戶端進行分發(fā)連接舌剂,進行賬號密碼的驗證济锄,庫表權限的驗證。
2霍转、SQL接口:連接完成后荐绝,對數(shù)據(jù)庫進行增刪改查的SQL操作會發(fā)給SQL接口。
3避消、解析器:負責對SQL接口的SQL語句進行解析低滩,主要為:判斷語法正確性,庫表有無岩喷,所要操作的類型(CURD)恕沫,需要獲取的庫表列的信息等。
4纱意、優(yōu)化器:為實現(xiàn)解析器的效果婶溯,選擇最優(yōu)的路徑并生成執(zhí)行計劃,盡量減少對server層與存儲引擎之間交互。
5迄委、執(zhí)行器:根據(jù)執(zhí)行計劃調用存儲引擎接口褐筛。
6、存儲引擎層:負責對數(shù)據(jù)進行調度叙身、處理渔扎。例如icp,支持多種存儲引擎信轿。
以下以innodb為例講一下update操作下晃痴,mysql的內部實現(xiàn)。
sql如下:
update test.t1 set id=1 where name='longfei';
結構圖如下: