Skip to content

Commit

Permalink
docs(reading): tidb compiler reading
Browse files Browse the repository at this point in the history
  • Loading branch information
yangwenmai committed Jun 20, 2019
1 parent f367942 commit e106a1d
Show file tree
Hide file tree
Showing 2 changed files with 58 additions and 1 deletion.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ Go 学习与分享:
- **[TiDB 源码学习](https://github.com/developer-learning/reading-go/issues/382)(从6月5日开始,每周三晚上21点 [zoom live](https://zoom.us/j/6923842137) )**:
- [TiDB 源码概览](https://github.com/developer-learning/reading-go/issues/401);
- [执行引擎](https://github.com/developer-learning/reading-go/issues/404);
- 优化器
- [优化器](https://youtu.be/4mgx8bq_fcQ)
- 事务
- 其他工程化测试等);

Expand Down
57 changes: 57 additions & 0 deletions content/reading/48-2019-06-19-tidb-compiler-reading.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
---
desc: Go 夜读 && TiDB 源码阅读之 Compiler
title: 48 TiDB 源码阅读之 Compiler
date: 2019-06-19T21:10:00+08:00
author: wangcong
---

## TiDB Compiler 内容介绍

本次分享主要讲 TiDB 的优化器框架以及具体的 SQL 执行优化原理主要涉及 TiDB planner 模块欢迎大家参加

PPT: [TiDB Compiler.pdf](https://github.com/developer-learning/reading-go/files/3305279/TiDB.Compiler.pdf)


## 推荐阅读

* [TiDB 源码阅读系列文章基于规则的优化](https://pingcap.com/blog-cn/tidb-source-code-reading-7)
* [TiDB 源码阅读系列文章基于代价的优化](https://pingcap.com/blog-cn/tidb-source-code-reading-8/)
* [TiDB 源码阅读系列文章二十一基于规则的优化 II](https://pingcap.com/blog-cn/tidb-source-code-reading-21/)

## 视频回看

1. [TiDB 源码学习之 Executor - YouTube](https://youtu.be/4mgx8bq_fcQ)
2. [TiDB 源码学习之 Executor - Bilibili](https://www.bilibili.com/video/av56138440/)

## 问题

22:13:46 From mai yang : rule 怎么对照文档帮助理解呢
22:16:31 From dqyuan : 怎么快速找到代码对应的pr
22:18:43 From Wei Yao : git blame
22:23:04 From kzl : Order by 是会下推到tikv吗
22:25:02 From Wei Yao : 除非 order by 带了 limit要不然推下去没意义
22:25:25 From Wei Yao : 有一些情况如果是 order by 一个索引那就直接消除掉这个 排序操作了
22:26:07 From zhao : 有意义吧推了之后 tidb端可以直接stream merge不知道实现了没有
22:27:38 From Wei Yao : 是可以 stream merge, 但是现在 tidb 还没实现这个因为优先级不是太高
22:30:42 From Wei Yao : stream merge 主要是可以节省一些内存避免 order by 太多导致 tidb oom
22:30:56 From Heng Long : 会让 tikv 的压力变大
22:34:28 From hezhiyong : limit offset 分页性能不好
22:34:53 From hezhiyong : 有好变通改写方法没
22:35:52 From hezhiyong : limit offset 会有下推到tikv么
22:36:19 From Wei Yao : limit offset 没办法的这个是全局的 offset
22:36:40 From Wei Yao : tikv 并不知道自己的 offset 在全局的 offset 是多少
22:37:05 From Wei Yao : 这个其他数据库其实也一样
22:37:37 From hezhiyong : 那就是这个数据就是要全拿到tidb层在来过滤
22:37:38 From hezhiyong : 是吧
22:39:27 From Haos iPad : 喝口水吧
22:45:35 From zhao : 这个skyline prune有相关的资料吗
22:45:41 From zhao : paper之类的
22:47:09 From Wei Yao : 我记得暂时还没有 public
22:47:20 From Wei Yao : skyline pruning 就是消除一些路径
23:04:22 From mai yang : 怎么快速找到代码对应的prgit blame这个可以演示一下吗
23:06:42 From tangenta : github 上面看文件的时候有个选项是 blame那里应该比较清晰
23:09:44 From mai yang : github 上面看文件的时候有个选项是 blame那里应该比较清晰
——

这个不错看到了

## 观看视频

{{< youtube id="4mgx8bq_fcQ" >}}

0 comments on commit e106a1d

Please sign in to comment.