tidb数据库可视化界面(TiDB学习笔记八数据库SQL语句执行过程)

一、DML语句读流程:

tidb数据库可视化界面(TiDB学习笔记八数据库SQL语句执行过程)(1)

1、Executor执行器先获取表的元数据,以及key存放的Region

tidb数据库可视化界面(TiDB学习笔记八数据库SQL语句执行过程)(2)

2、点查通过KV,复杂查询通过DistSQL

tidb数据库可视化界面(TiDB学习笔记八数据库SQL语句执行过程)(3)

3、coptask:读取后的数据先在TiKV进行聚合,然后在TiDB Server上聚合

roottask:读取后的数据在TiDB Server上聚合

tidb数据库可视化界面(TiDB学习笔记八数据库SQL语句执行过程)(4)

二、DML语句写流程:

tidb数据库可视化界面(TiDB学习笔记八数据库SQL语句执行过程)(5)

需要修改的数据先从rocksdb kv中读取到memBuffer中,然后进行两阶段提交

tidb数据库可视化界面(TiDB学习笔记八数据库SQL语句执行过程)(6)

tidb数据库可视化界面(TiDB学习笔记八数据库SQL语句执行过程)(7)

三、DDL语句流程:

tidb数据库可视化界面(TiDB学习笔记八数据库SQL语句执行过程)(8)

先写入job队列,然后由TiDB Server的owner执行job,执行完毕后,放入history队列。

增加索引index的job,单独放入add index queue中

tidb数据库可视化界面(TiDB学习笔记八数据库SQL语句执行过程)(9)

tidb数据库可视化界面(TiDB学习笔记八数据库SQL语句执行过程)(10)

四、SQL的解析和编译

tidb数据库可视化界面(TiDB学习笔记八数据库SQL语句执行过程)(11)

Parse:进行词法分析、语法分析,形成AST

Preprocess:1、检测合法性。 2、如果是查询一条记录(点查PointGet),那么直接执行,不需要优化

Optimize:逻辑优化(利用关系型代数等)、物理优化

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页