- 博客(7)
- 资源 (1)
- 收藏
- 关注
原创 GPORCA 优化器 Transform 流程
优化器简介SQL是一种描述性语言。对于一个复制的SQL语句,可能生成几十上百个等价的执行计划。实际上,选择最优执行计划的问题,已经被证明是一个NP-HARD问题。因此,人为的把SQL推导成执行计划,并从众多的执行计划中获取一个最优的,几乎是不可能的。优化器作为数据库的关键组件不可或缺。它接收语法树,推导出等价执行计划,并选出最优的执行计划,交给执行器执行。优化器一般使用动态规划实现,动态规划可以提供的特性:无后效性:即子问题的解一旦确定,就不再变,不受这之后、包含它的更大的问题的求解决策影响。重
2022-05-03 18:29:47 700
原创 greenplum-执行SQL创建Slice&Gang 学习计划。
相关概念:**Motion:**除了常见的数据库操作(例如表扫描,联接等)之外,Greenplum数据库还有一种名为motion的操作类型。motion操作用于在segment之间移动元组。**Slice:**为了在查询执行期间实现最大的并行度,Greenplum将查询计划的工作划分为slices。slice是计划中可以独立进行处理的部分。查询计划会为motion生成slice,motion的每一侧都有一个slice。**Gang:**属于同一个slice但是运行在不同的segment上的进程,称为
2021-02-02 23:18:21 1219
原创 GreenPlumSQL执行流程及事务处理
#mermaid-svg-Laap7RSbgpdC39bx .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-Laap7RSbgpdC39bx .label text{fill:#333}#mermaid-svg-Laap7RSbgpdC39bx .node rect,#mermaid-svg-Laap7RSb..
2021-01-22 22:58:00 705
原创 greenplum-QD&QE启动流程
/* * AuxiliaryProcessMain * * The main entry point for auxiliary processes, such as the bgwriter, * walwriter, walreceiver, bootstrapper and the shared memory checker code. * * This code is here just because of historical reasons. */
2021-01-22 11:09:08 1000
原创 一组排序矩阵相关操作,数据结构使用的是多维链表
typedef struct stMatrixNode{ Item data; unsigned coloum; stMatrixNode *next;}MatrixNode, *MatrixLink; //多维表矩阵的基本操作及乘法运算MatrixLink NewMatrixNode(unsigned coloum, Item data){ MatrixL
2012-03-23 15:30:08 345
原创 求集合的幂集
<br />int gather[5] = {1, 2, 3};<br />bool PowerSet(int num)<br />{<br /> bool rootFlag = false;<br /> BiTree tree;<br /> InitBiTree(tree);<br /> tree = (BiTree)malloc(sizeof(BiTNode));<br /> if (!tree)<br /> {<br /> return false;<br /> }<br /> tree->data
2010-11-27 20:33:00 477
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人