2022-09-11 mysql列存储引擎-宣讲-第二讲-一条SQL在Tianmu引擎中的运行

Posted 帝尊悟世

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2022-09-11 mysql列存储引擎-宣讲-第二讲-一条SQL在Tianmu引擎中的运行相关的知识,希望对你有一定的参考价值。


2022-09-11

摘要:

记录列存储引擎第二讲的绸缪规划。

宣传语:

标题: 

一条查询SQL在Tianmu引擎中的代码实现

宣讲语:

你是否只读过数据库理论的书籍, 但是一遇到代码就头疼呢?

你是否只会在理论上和数学公式上推导数据库内核, 但是从没亲自做过数据库内核的实现呢?

你是否对于数据库的实现只是道听途说, 自己却从未见过数据库内核的代码实现呢?

你是否天天忙于企业战略,自己却已遗忘了实际缔造一个数据库内核的手段呢?

本次悟世科技董事长亲自出马,为各位讲解数据库Tianmu引擎的代码实现!

由此你不再拾人牙慧, 只会天天在PPT上画图忽悠老板!

由此你不再理论和现实脱节, 知道了很多却过不好这一生!

由此你不再知其然而不知其所以然, 再被人用各种学术名词忽悠!

由此你将脱离庸俗的混子型开发者, 成为掌控代码之力的实干家!

相关介绍:

宣讲嘉宾介绍:

悟世: 悟世科技的缔造者和董事长,代码神教之教宗,色孽大神在世间的代行者,后厂村之古惑仔加青龙会扛把子,已达人码合一进入无我之境的代码真君.


内容规划:

  1. 给出上一讲的链接, 让听者熟悉​
  2. 引入Tianmu引擎的整体目录结构, 简略介绍每个目录的功能​
  3. 开始引入一条语句Q, 先现场执行, 查看结果。
  1. 仅包含单独的子查询, 参考Q16, 但是要削减数据量
  2. 耗时不超过1秒内
  3. 需要由nested loop策略实现, 以讲解最基础的策略
  1. 打开EA, 用时序图逐个的讲解SQL执行时遇到的模块, ​
  2. 现场打开GDB, 对每一个关键的函数调用堆栈进行说明, 讲解如何将理论和代码结合
  1. mysql插件式引擎的handler层与Tianmu层的接口的交互
  2. 讲解查询优化器的输入和输出
  1. 输入为yacc编译后的数据结构
  2. 输出为经过查询优化器调整后的逻辑流
  1. 简单的说明查询优化器有逻辑优化和物理优化, 并明确SQL层与Tianmu层的优化
  1. 希望了解SQL层的优化的人可以详细阅读 JOIN::optimize
  2. 着重讲解Tianmu的处理: 所谓知识网格的数据过滤
  1. 有必要亲自向听者讲解一些工具的使用
  1. perf火焰图的生成
  2. jenkins流水线工具的使用及对工作流效率的提升
  3. hexdump二进制查看工具
  4. gdb的使用
  1. 向听者说明下一讲将会讲解如何在代码层面做查询优化

以上是关于2022-09-11 mysql列存储引擎-宣讲-第二讲-一条SQL在Tianmu引擎中的运行的主要内容,如果未能解决你的问题,请参考以下文章

MySQL索引引擎

MySQL原理 - InnoDB引擎 - 行记录存储 - Off-page 列

MySQL原理 - InnoDB引擎 - 行记录存储 - Off-page 列

mysql innodb存储引擎

MySQL-约束存储引擎事务索引视图

mysql引擎