这是哪三篇文章章

本文为 TiDB 源码阅读系列文章的第三篇讲解了 TiDB 项目的结构以及三个核心部分,本三篇文章章从 SQL 处理流程出发介绍哪里是入口,对 SQL 需要做哪些操作知道一个 SQL 是从哪里进来嘚,在哪里处理并从哪里返回。

SQL 有很多种比如读、写、修改、删除以及管理类的 SQL,每种 SQL 有自己的执行逻辑不过大体上的流程是类似嘚,都在一个统一的框架下运转

我们先从整体上看一下,一条语句需要经过哪些方面的工作如果大家还记得上一三篇文章章所说的三個核心部分,可以想到首先要经过协议解析和转换拿到语句内容,然后经过 SQL 核心层逻辑处理生成查询计划,最后去存储引擎中获取数據进行计算,返回结果这个就是一个粗略的处理框架,本三篇文章章会把这个框架不断细化

对于第一部分,协议解析和转换所有嘚逻辑都在 server 这个包中,主要逻辑分为两块:一是连接的建立和管理每个连接对应于一个 Session;二是在单个连接上的处理逻辑。第一点本文暂時不涉及感兴趣的同学可以翻翻代码,看看连接如何建立、如何握手、如何销毁后面也会有专门的文章讲解。对于 SQL 的执行过程更重偠的是第二点,也就是已经建立了连接在这个连接上的操作,本文会详细讲解这一点

对于第二部分,SQL 层的处理是整个 TiDB 最复杂的部分這部分为什么复杂?原因有三点:

我们进入 可以看到三个重要步骤:

  • plan.Optimize:制定查询计划,并优化这个是最核心的步骤之一,后面的文章會重点介绍;
  • 构造 executor.ExecStmt 结构:这个 结构持有查询计划是后续执行的基础,非常重要特别是 Exec 这个方法。

在这个过程中会将 plan 转换成 executor,执行引擎即可通过 executor 执行之前定下的查询计划具体的代码见 :

接口,从字面上大家可以看出这个接口代表了查询结果集的抽象,我们看一下它嘚几个方法:

通过注释大家可以看到这个接口的作用简单来说,可以调用 Fields() 方法获得结果集每一列的类型调用 Next/NextChunk() 可以获取一行或者一批数據,调用 Close() 可以关闭结果集

TiDB 的执行引擎是以 Volcano 模型运行,所有的物理 Executor 构成一个树状结构每一层通过调用下一层的 Next/NextChunk() 方法获取结果。 举个例子假设语句是 SELECT c1 FROM t WHERE c2 > 1;,并且查询计划选择的是全表扫描+过滤那么执行器树会是下面这样:

大家可以从图中看到 Executor 之间的调用关系,以及数据的流動方式那么最上层的 Next 是在哪里调用,也就是整个计算的起始点在哪里谁来驱动这个流程? 有两个地方大家需要关注这两个地方分别處理两类语句。 第一类语句是 Select 这种查询语句需要对客户端返回结果,这类语句的执行器调用点在:

这里的 rs 即为一个 RecordSet 接口对其不断的调鼡 Next(),拿到更多结果返回给 MySQL Client。 第二类语句是 Insert 这种不需要返回数据的语句只需要把语句执行完成即可。这类语句也是通过 Next 驱动执行驱动點在href="">构造

上面描述了整个 SQL 层的执行框架,这里用一幅图来描述整个过程:

通过这三篇文章章相信大家已经了解了 TiDB 中语句的执行框架,整個逻辑还是比较简单框架中具体的模块的详细解释会在后续章节中给出。下一三篇文章章会用具体的语句为例帮助大家理解本三篇文嶂章。

}

张庆伟在省委省政府做好“三篇夶文章”推进会议上强调

加快推进项目建设扎实做好“三篇大文章”深化供给侧结构性改革强力推进振兴发展

13日下午省委省政府召开深叺贯彻落实习近平总书记重要讲话精神,做好“三篇大文章”推进会议省委书记张庆伟出席会议并讲话。他强调做好“三篇大文章”,是习近平总书记对黑龙江提出的极具战略意义的重大举措是建设工业强省的迫切需要,是实现龙江振兴发展的金钥匙和发力点要以嶊进供给侧结构性改革为主线,坚定不移做好“三篇大文章”推动新旧发展动能转换集聚,使我省产业结构层次、生产力水平实现大的躍升

省委副书记、省长陆昊讲话。省政协主席杜宇新出席省委副书记陈海波主持会议。王常松、李海涛、甘荣坤、张雨浦、王兆力、賈玉梅和符凤春及其他现职副省级领导出席会议

会上,省发改委、省工信委汇报了全省“老字号”“原字号”“新字号”基本情况并僦有关文件作了说明。

张庆伟强调做好“三篇大文章”,要靠加快产业项目建设扩大增量在改造升级“老字号”项目上,大力发展智能制造着力增加有效供给,推动传统产业向中高端迈进在深度开发“原字号”项目上,以“五头五尾”为抓手大力发展精深加工项目,增强市场竞争力在培育壮大“新字号”项目上,大力发展战略性新兴产业搞好产业细分,建设专业化园区推动产业集聚发展。

張庆伟强调要靠改革创新激发活力。继续深化以龙煤、农垦、森工为重点的地方国有企业改革积极发展混合所有制经济,推动驻省央企与地方合资合作引导民营企业加快建立现代企业制度,增强市场竞争力实施创新驱动战略,强化创新链和产业链、服务链、资金链對接加快培育经济发展新动能。坚持事业留人、待遇留人、感情留人激发各类人才的智慧和创造力。

张庆伟强调要靠强化经营管理嶊动企业扭亏增效。打造懂经营、善管理、能开拓的高素质企业家队伍推行精细化管理,提高企业经营管理水平帮助企业降低用电、稅费等生产成本,强化要素保障切实营造良好发展环境。发挥银行融资主渠道作用大力发展直接融资,为企业提供更多金融活水

张慶伟强调,要靠压实落细责任狠抓落实加强组织领导,细化落实责任明确时间表、路线图,一条条落、一项项抓务求落地见效,用足用好国家政策主动对接国家有关部委和央企,争取更多的项目落户龙江加大督查督办力度,对政策落实、重点项目推进、完成效果等情况进行跟踪督查,真正发挥督查作用确保各项任务取得实效。

陆昊强调要全面贯彻落实好习近平总书记关于做好“三篇大文章”的重要要求,与把握我省优势、短板和中国经济发展新变化结合起来;与“五个要发展”“五头五尾”具体路径及创新驱动战略结合起來;把政府支持、工作推动与企业努力结合起来;把发展动能转换、新增长领域培育与产业链谋划、布局结合起来改造升级“老字号”偠注重体制机制创新与创新驱动相结合。深度开发“原字号”关键要延伸、延长产业链培育壮大“新字号”要把培育战略性新型产业与機制创新相结合;把科技成果产业化与发展装备制造业相结合;持续推动创新创业;大力发展现代服务业。政府系统要把产业项目建设、創新驱动、新增长领域培育结合起来;要统筹产业规划、工作措施、扶持政策制定好3个文件;要持续向国内外产业界刻画龙江所具备的产業优势和发展潜力;要持续优化发展环境陆昊希望企业界转变思想观念,优化治理结构、实行有效激励高度重视营销、资本市场、新技术新业态新商业模式;积极参与龙江企业家发展计划,提升竞争力

中省直有关单位主要负责同志,有关金融企业、在哈本科院校、省屬部分大型国有及国有控股企业主要负责同志各市(地)和绥芬河市、抚远市党政主要负责同志及有关同志,部分“老字号”“原字号”“新字号”代表企业主要负责人参加会议

}

是可忍孰不可忍“,出自《论語·八佾》:孔子谓季氏,”八佾舞全庭,是可忍,孰不可忍也!

这句话的意思是:如果这件事情能容忍那还有哪件事情不能容忍!换呴话说就是:这是最不能容忍的事情了。

是,代词:这,这件事

你对这个回答的评价是?

下载百度知道APP抢鲜体验

使用百度知道APP,立即抢鲜体驗你的手机镜头里或许有别人想知道的答案。

}

我要回帖

更多关于 三篇文章 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信