p优深
文章平均质量分 99
1
fgh431
非淡泊无以明志
展开
-
PG有无下推逻辑+PathKey类型讲解
先看下面的图片似乎order by被下推到了每个子表上面啊?其实不是的! 内核在对A和B做连接的时候会为他俩生成很多连接路径hashjoinnestloop包括mergejoin且要记得mergejoin返回的元组是有序的哦! 然后等到了Non-SPJ order by这个字句的时候发现mergejoin这个路好啊,直接省掉了order by...原创 2020-12-10 19:32:38 · 321 阅读 · 0 评论 -
1 概述
电饭锅设若干原创 2020-01-06 11:19:53 · 260 阅读 · 0 评论 -
4 逻辑分解优化
文章目录逻辑分解是逻辑优化一部分这里和物理优化产紧密重写中,Query->Jointree通过Rangetblentry组织起来,逻分中,所有Rangetblentry将建立一个对应Reloptlnfo,Rangetblentry在物理优化时不适用,用Reloptlnfo代替Rangetblentry对应范围表它对表描述,属逻辑层面,内部没提供和物理代价及物...原创 2020-01-19 15:05:47 · 835 阅读 · 0 评论 -
5 统计信息和选择率
111原创 2020-01-15 16:25:12 · 607 阅读 · 0 评论 -
SIX:path nacs
文章目录综述6.1 代价6.1.1 代价基准单位6.1.1.1 基于页面的IO基准代价maybe be 下一段maybe be 也是下一段maybe be 也是下一段6.1.1.2 基于元组的CPU基准代价下一段下一段6.1.1.3 基于表达式的CPU基准代价6.1.1.4 产生的基准代价because of parallel query6.1.1.5 缓存对代价的影响6.1.2 Startup和...原创 2020-03-03 15:50:15 · 1706 阅读 · 4 评论 -
8连接路径
文章目录8.1检查8.1.1初步检查8.5建立连接路径8.5.1 sort_inner_and_outer生成连接路径时所使用的算法—动态规划和遗传,动态规划推进到join_ search_one_ level遗传算法推进到merge clump,物理优化的部分从这两个函数开始就进入到了建立连接路径的阶段 连接路径指的是物理连接路径,也就是通过这种路径来实现逻辑连接操作建...原创 2020-04-27 14:16:40 · 968 阅读 · 0 评论 -
9Non-SPJ optmize
文章目录9.1 集合操作处理9.2 Non-SPJ路径第一段第2段第3段9.2.1 Non-SPJ预处理9.2.1.1 Group By子句的预处理9.1 集合操作处理9.2 Non-SPJ路径第一段9.6前,Non-SPJ操作是直生成Plan,每个Non-SPJ操作对一Plan节点,create_plan函数主要针对SPJ操作产生的路径进行操作,由于create_plan函数针对...原创 2019-08-09 15:19:52 · 530 阅读 · 0 评论 -
10 generate执行plan
文章目录10.1 转换流程10.1.1扫描计划最优的执行路径生成后,虽然 PathTree I已足够清楚指出查询计划要进行的物理操作,但它的结构体中为了进行代价计算有太多的冗余信息,不方便查询执行器使用,且有些参数还没有建立好,因此通过将其转换成执行计划来生成更适合查询执行器的 PlanTree,然后将PlanTree交给执行器就可以真正执行了。路径的结构体是Path或者是“继承”...原创 2020-03-11 23:46:22 · 368 阅读 · 0 评论