课程名称:
201 2.5.1 The Lifecycle of a SQL Statement(在 TiDB 中一条 SQL 的生命周期)
学习时长:
25min
课程收获:
了解 TiDB 中数据组织模式和 SQL 执行流程
课程内容:
1. 数据组织
- 对用户来说数据以表形式组织,而在 TiKV 中以 key-value 键值对形式存储
-
数据实际存储可分为三类形式组织
- 普通 table:key = t<>_r<>,value = 该 row 所对应的列值
- 唯一索引: key = t<>_i<>_index_column值,value = rowId
- 非唯一索引:key = t<>_i<>_index_column值_rowId,value = nulls
2. SQL 的生命周期
- SQL 被 Parse 解析成 AST
- AST 经过逻辑优化器,进行逻辑规则的优化下推,得到逻辑计划
- 物理计划根据逻辑计划和统计信息得到物理执行计划
- 物理执行计划会到执行器执行
- 执行过程中使用分布式执行,会 Cop Task 到 TiKV 上分布式执行,由于数据下推到 TiKV,减少计算数据量
- SQL 执行完成后会反馈部分信息给统计信息用以更新
学习过程中遇到的问题或延伸思考:
无
学习过程中参考的其他资料
无