2. mysql 體系架構(gòu)
-
連接方式
TCP/IP
Socket
-
mysqld程序結(jié)構(gòu)
-
mysqld程序結(jié)構(gòu)
-
連接層執(zhí)行過程
提供連接協(xié)議
提供驗證
提供專用的連接線程: 接受sql, 返回結(jié)果
show processlist;
-
SQL層執(zhí)行過程
接受上層sql語句
-
語法驗證模塊:
驗證語句語法
驗證是否滿足sql_mode
-
語義檢查: 判斷語句類型
DML
DDL
DCL
-
權(quán)限檢查
檢查用戶是否有權(quán)限
-
解析器
在語句執(zhí)行前, 進行預處理, 生成解析樹(執(zhí)行計劃), 生成多種執(zhí)行方案
-
優(yōu)化器
根據(jù)生成的解析樹進行判斷, 選擇最優(yōu)的執(zhí)行計劃(代價模型: 根據(jù)CPU, IO, MEM的耗損評估性能)
-
查詢緩存
使用redis tair替代緩存查詢
-
提供日志記錄
binlog功能
-
存儲引擎層執(zhí)行過程
根據(jù)SQL層的執(zhí)行結(jié)果, 從磁盤讀取數(shù)據(jù)
將16進制的數(shù)據(jù)叫給SQL層結(jié)構(gòu)化為表
連接層的專用線程返回給用戶
-
-
myqsl數(shù)據(jù)庫結(jié)構(gòu)
-
邏輯構(gòu)成:
-
物理結(jié)構(gòu)
-
表的存儲方式
-
段
數(shù)據(jù)表就是一個段, 一個段包含多個區(qū)
-
區(qū)
區(qū)包含64個連續(xù)的頁, 共1M
-
頁
最小的存儲單位, 默認為16k
-
-