一、DML語句讀流程:
1、Executor執行器先獲取表的元數據,以及key存放的Region
2、點查通過KV,複雜查詢通過DistSQL
3、coptask:讀取後的數據先在TiKV進行聚合,然後在TiDB Server上聚合
roottask:讀取後的數據在TiDB Server上聚合
二、DML語句寫流程:
需要修改的數據先從rocksdb kv中讀取到memBuffer中,然後進行兩階段提交
三、DDL語句流程:
先寫入job隊列,然後由TiDB Server的owner執行job,執行完畢後,放入history隊列。
增加索引index的job,單獨放入add index queue中
四、SQL的解析和編譯
Parse:進行詞法分析、語法分析,形成AST
Preprocess:1、檢測合法性。 2、如果是查詢一條記錄(點查PointGet),那麼直接執行,不需要優化
Optimize:邏輯優化(利用關系型代數等)、物理優化
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!