tidb 中的SQL

详细描述一条DML语句在tidb 中的执行过程

1 个赞

https://learn.pingcap.cn/learner/course/960001

Lession 05

  1. SQL 解析:将 SQL 语句转化为 AST。
  2. 语义分析与优化:进行语法检查、权限检查、表结构检查、查询优化。
  3. 执行计划生成:基于优化器生成执行计划。
  4. 执行阶段:TiDB 发起存储请求,TiKV 执行数据写入,并确保分布式一致性。
  5. 事务提交与返回:事务提交,返回客户端执行结果。
  6. 日志记录:操作日志记录在 Binlog 中。
2 个赞

你这个不对,要先写raft日志的,那一步靠前而且很重要,可以参考
tidb DML的读写流程_tidb 读取流程-CSDN博客

1 个赞

用户执行sql修改语句
进入Protocol Layer 接收 ,发送给Parse(解析) 这中间还回去PD 申请一个TSO时间戳
Parse 解析成AST语法树 发送给Compile(编译)
Compile 分成点查和非点查 并交给Execute(执行)
Execute 去rocksdbkv取数据 加载进内存memBuffer
加锁 Transaction ,然后去Scheduler修改
修改完解锁 读取时间戳

1 个赞

你是看哪一块内容学习到这个过程的呀

1 个赞

这里
https://learn.pingcap.cn/learner/course/960001

1 个赞

此话题已在最后回复的 7 天后被自动关闭。不再允许新回复。