执行计划操作符(DM8.1 20231113)

达梦数据库执行计划操作符

  • 环境介绍

环境介绍

  • 数据库版本 DM8.1 20231113
  • 达梦数据库学习使用列表 - 点击跳转
操作符名称 参数说明 操作说明
AAGR2 grp_num:分组项个数 / sfun_num:返回上层操作符的集函数个数/distinct_flag:集函数参数是否去重 / slave_empty:是否限制 MPP 从节点向主节点传送数据,或本地并行的从线程向主线程传送数据。取值:0:不限制;1:不允许 MPP 从节点向主节点传送数据;2:不允许本地并行的从线程向主线程传送数据 简单聚集。如果没有分组,则直接计算聚集函数
ACTRL 无参数 控制备用计划转换
AFUN afun_num:分析函数个数 / partition_num:分区项个数 / [colnamelist]:分区项/order_num:排序项个数 / [colnamelist]:排序项 分析函数计算
ASCN tabname:表的别名used_in_sss3:是否出现在 sss3(subquery set search,子查询集合查找)指令中。值为 TRUE 时,则每次扫描都重新开始 数组当作表来扫描
ASSERT assert_condition:触发断言的布尔表达式条件 约束检查
BLKUP2 idxname(tabname) :索引名(表名) 定位查找
BMAND 无参数 位图索引的与运算
BMCNT is_match_out:是否直接根据孩子节点的 MATCH-COUNT 值计算COUNT(*) 位图索引的行数计算
BMCVT 无参数 位图索引的 ROWID转换
BMMG 无参数 位图索引归并
BMOR 无参数 位图索引的或运算
BMSEK scan_type:扫描类型 / idxname(tabname) :索引名(表名) / scan_range:扫描范围 位图索引的范围查找
CONST VALUE LIST row_num:常量列表行数 / col_num:常量列表列数 常量列表
CONSTC N_PRE_VAR:复合索引跳跃扫描中跳跃扫描的索引前导列个数 / (out_var):外部 var 变量序列 用于复合索引跳跃扫描
CSCN2 idxname(tabname) :索引名(表名)/ NEED_SLCT(TRUE):是否进行过滤条件下推的优化 聚集索引扫描
CSEK2 scan_type:扫描类型 / idxname(tabname) :索引名(表名) / scan_range:扫描范围 聚集索引数据定位
CTE_SCN exp_num:映射列数 / (queryname):查询名 递归 WITH 查询
CTNS idxname(tabname) :索引名(表名) / KEY:全文索引的关键词 用于实现全文索引的CONTAINS
DELETE (partition_type):分区类型,取值:Vertical Partition:垂直分区;Horizon Partition:水平分区;为空表示不分区 / table:表名或视图名,“-”表示空,使用远程操作时会增加“@”+“dblink连接名”作为后缀 / ype:删除类型,取值:SELECT、CURSOR / mpp_opt:是否通过发送整个计划实现对 MPP 处理的优化 / hp_opt:是否进行分区列等值过滤优化 删除数据
DELETE_REMOTE (partition_type):分区类型,取值:Vertical Partition:垂直分区;Horizon Partition:水平分区;为空表示不分区 / table:表名或视图名,“-”表示空,使用远程操作时会增加“@”+“dblink连接名”作为后缀 / type:删除类型,取值:SELECT、CURSOR / mpp_opt:是否通过发送整个计划实现对 MPP 处理的优化 / hp_opt:是否进行分区列等值过滤优化 DBLINK 删除操作
DISTINCT keys:MPP 模式下需要分发的列的信息(仅在 MPP 模式下生效) 去重
DSCN idxname(tabname) :索引名(表名) 动态视图表扫描
DSSEK scan_type:扫描类型 / idxname(tabname) :索引名(表名) / scan_range:扫描范围 DISTINCT 列上索引跳跃扫描(单列索引或复合索引)
ESCN 无参数 外部表扫描
EXCEPT 无参数 集合的差运算,且取差集后删除重复项
EXCEPT ALL 无参数 集合的差运算,且取差集后不删除重复项
EHFD mpp_opt:数据操作方式,1:数据直接发送给 BP 端进行删除;0:通过 SP 端分发 DPC 下事务型 HUGE表的数据删除
EHFI (tabname):表名 / mpp_opt:数据操作方式,1:数据直接发送给 BP 端进行插入;0:通过 SP 端分发 DPC 下事务型 HUGE表的数据插入
EHFINS (tabname):表名 / mpp_opt:数据操作方式,1:数据直接发送给 BP 端进行插入;0:通过 SP 端分发 DPC 下非事务型HUGE 表的数据插入
EHFU mpp_opt:数据操作方式,1:数据直接发送给 BP 端进行更新;0:通过 SP 端分发 DPC 下事务型 HUGE表的数据更新
ERECV stask_no:自身所处的子任务的序号,-1 表示 root 子任务 / l_stask_no:孩子子计划的序号 / n_keys:归并排序的 key 的个数 / in_turn:是否按照顺序接收各个发送端的数据 / trig:是否在 IDU(增删改操作)上存在触发器 DPC 下用于接收数据,和 ESEND 对应
ESEND stask_no:自身所处的子任务的序号,-1 表示 root 子任务 / type:发送类型,用于确定基于何种数据特征对数据进行分发。详细介绍请参考《DM8 分布计算集群》5.4 小节“数据交换与数据迭代操作符” / sites:站点的 RAFT ID 和并行度值,“-”表示空。例如(1:3,2:4)表示 RAFT ID 1 的并行度为 3,RAFT ID 2 的并行度为 4 / sql_invoke:当前子任务是否包含了含 sql 的函数调用 / pwj_opt:是否使用了分区智能连接(Partition Wise Join)优化 / table:表名,“-”表示空,不为空时表示按照该表的分区定义进行数据分发 / empty_type:当哈希连接相关优化的分发计算无合适接收端时的处理策略,取值:INIT:未指定策略,效果等同于 ERROR;PRUNE:直接抛弃;ANY:给任意线程处理;ERROR:报错;NOT_EMPTY:通知所有线程右孩子不为空集 / keys:表的分发列(仅当 table 不为空时显示) / INFO_BITS:相关优化信息的标志位,6 个标志位自低向高含义如下:bit0:是否在哈希连接左表为广播数据时共享哈希表;bit1:是否使用 UNIONALL优化;bit2:是否选择开始执行任务;bit3:是否进行链路发送优化;bit4:是否进行归并排序的链路发送优化;bit5:用于指示当前 ESEND 发送的目标进行归并排序 DPC 下用于发送数据,和 ERECV 对应
FAGR2 sfun_num:返回上层操作符的集函数个数 / idxname:索引名 快速聚集,如果没有where 条件,且取count(*), 或者基于索引的 MAX/MIN值,则可以快速取得集函数的值
FILLBTR index_id:用于填充 B 树的索引 ID 填充 B 树
FTTS for_mdis:是否从 MPP DISTRIBUTE 获得数据 MPP\LPQ 下,对临时表的优化
GI policy:指示表的数据访问粒度,各个取值和含义请参考《DM8 分布计算集群》中 5.4 小节“数据交换与数据迭代操作符” / gi_unit:当前 GI 迭代器控制的数据扫描操作符起止序号 / scan_type[0]:扫描相关信息,格式为:[扫描类型,反向扫描信息(可选),末尾 KEY 优化信息(可选)] / dynamic_pll:是否包含动态裁剪 Granule Iterator,在DMDPC 集群中,控制各工作线程的数据访问粒度和分区表裁剪
GSEK idxname(tabname) :索引名(表名) 空间索引查询
HAGR2 grp_num:分组项个数 / sfun_num:返回上层操作符的集函数个数 / distinct_flag:集函数参数是否去重 / top_num:是否只返回前 N 组 / slave_empty:是否限制 MPP 从节点向主节点传送数据,或本地并行的从线程向主线程传送数据。取值:0:不限制;1:不允许 MPP 从节点向主节点传送数据;2:不允许本地并行的从线程向主线程传送数据 / keys:分组项 HASH 分组,并计算聚集函数
HASH FULL JOIN2 key_num:等值连接条件数 / mix_aggr:是否将分组操作下放到此步骤进行,仅支持 COUNT 和 SUM函数 / mix_dist:是否存在对分组操作和哈希左外连接的优化(即把分组操作下放到哈希左外连接中) / join_condition:连接条件 / KEY:等值连接条件 HASH 全外连接
HASH LEFT JOIN2 key_num:等值连接条件数 / partition_keys_num:paritition outer join 的 KEY 个数 / ret_null:是否仅返回未匹配的行 / mix:需要计算的单个右表列的 COUNT 函数个数 / join_condition:连接条件 / KEY:等值连接条件 HASH 左外连接
HASH LEFT SEMI JOIN12 (ANTI):是否为反连接 / join_condition:连接条件 HASH 左半连接
HASH LEFT SEMI JOIN2 (ANTI):是否为反连接 / key_num:等值连接条件数 / join_condition:连接条件 / KEY:等值连接条件 / KEY_NULL_EQU:连接列的 NULL 值比较策略。取值:0:NULL 与 NULL不相等;1:NULL 与 NULL 相等。例如:(0,1,0)表示第 1 个和第 3 个连接条件中 NULL 值视为不等,第 2 个连接条件中 NULL 值视为相等 HASH 左半连接
HASH LEFT SEMI MULTIPLE JOIN (ANTI):是否为反连接 / join_condition:连接条件 多列 NOT IN
HASH RIGHT JOIN2 key_num:等值连接条件数 / ret_null:是否仅返回未匹配的行 / join_condition:连接条件 / KEY:等值连接条件 HASH 右外连接
HASH RIGHT SEMI JOIN2 key_num:等值连接条件数 / (ANTI):是否为反连接 / join_condition:连接条件 / KEY:等值连接条件 / KEY_NULL_EQU:连接列的 NULL 值比较策略。取值:0:NULL 与 NULL不相等;1:NULL 与 NULL 相等。例如:(0,1,0)表示第 1 个和第 3 个连接条件中 NULL 值视为不等,第 2 个连接条件中 NULL 值视为相等 / INFO_BITS:相关优化信息的标志位,其中 bit0 指明是否在左表为广播数据时共享 0 号工作节点哈希表 HASH 右半连接
HASH RIGHT SEMI JOIN32 (any_options):取值包括:“= all”、“<> any”、“op all”、“op any” / key_num:等值连接条件数 / join_condition:连接条件 / KEY:等值连接条件 / KEY_NULL_EQU:连接列的 NULL 值比较策略。取值:0:NULL 与 NULL不相等;1:NULL 与 NULL 相等。例如:(0,1,0)表示第 1 个和第 3 个连接条件中 NULL 值视为不等,第 2 个连接条件中 NULL 值视为相等 用 于 OP SOME/ANY/ALL 的HASH 右半连接
HASH2 INNER JOIN (UNIQUE_FLAG) :该连接中左右表数据的唯一性策略。取值:LRKEY_UNIQUE:左右表数据分别根据各自 KEY 值唯一;LKEY_UNIQUE:左表数据根据 KEY 值唯一,右表则不唯一;RKEY_UNIQUE:右表数据根据KEY 值唯一,左表则不唯一 / key_num:等值连接条件数 / join_condition:连接条件 / KEY:等值连接条件 / KEY_NULL_EQU:连接列的 NULL 值比较策略。取值:0:NULL 与 NULL不相等;1:NULL 与 NULL 相等。例如:(0,1,0)表示第 1 个和第 3 个连接条件中 NULL 值视为不等,第 2 个连接条件中 NULL 值视为相等 / INFO_BITS:相关优化信息的标志位,6 个标志位自低向高含义如下:bit0:是否在哈希连接左表为广播数据时共享 0 号工作节点的哈希表;bit1:是否使用 UNIONALL 优化;bit2:是否选择开始执行任务;bit3:是否进行链路发送优化;bit4:是否进行链路发送优化,且需要进行归并;bit5:用于指示当前 ESEND 发送的目标进行归并排序 HASH 内连接
HEAP TABLE stask_no:子任务的序号,-1 表示 root 子任务 / sql_invoke:是否已在所属子计划进行含 sql 的函数调用 / table_no:临时结果表编号 / full:并行场景数据完整性,取值:0:局部数据;1:完整数据 / mpp_full:是否在 MPP/DPC 模式下表示完整数据 / autoid:是否生成 autoid 列 / sites:站点的 ID 和并行度序列,“-”表示空。例如:(1:3,2:4)表示 1 号站点并行度 3,2 号站点并行度 4 临时结果表
HEAP TABLE SCAN table_no:临时结果表编号 临时结果表扫描
HFD mpp_opt:是否通过发送整个计划实现对 MPP 处理的优化 删除事务型 HUGE 表数据
HFDEL mpp_opt:是否通过发送整个计划实现对 MPP 处理的优化 删除非事务型 HUGE表数据
HFI (tabname):表名 / mpp_opt:MPP 模式下插入优化选项,取值:-1:不优化,DPC 环境下取该值;0:不优化,无优化或非 MPP 环境下取该值;1:在随机插入对象表时分发整个插入计划;2:基于 1 的特性,省略 MDIS 分发 事务型 HUGE 表插入记录
HFI2 (tabname):表名 / mpp_opt:MPP 模式下插入优化选项,取值:-1:不优化,DPC 环境下取该值;0:不优化,无优化或非 MPP 环境下取该值;1:在随机插入对象表时分发整个插入计划;2:基于 1 的特性,省略 MDIS 分发 MPP 模式下优化的事务型 HUGE 表插入记录
HFINS2 mpp_opt:MPP 模式下插入优化选项,取值:-1:不优化,DPC 环境下取该值;0:不优化,无优化或非 MPP 环境下取该值;1:在随机插入对象表时分发整个插入计划;2:基于 1 的特性,省略 MDIS 分发 非事务型 HUGE 表插入记录
HFINS3 无参数 MPP 模式下优化的非事务型 HUGE 表插入记录
HFINS4 无参数 非 MPP 模式下,针对非事务型 HUGE 水平分 区 主 表 的 插 入 优化 , 需 要 参 数HFINS_PARALLEL_FLAG=2
HFLKUP (tabname):表名 根据 ROWID 检索非事务型 HUGE 表数据
HFLKUP2 (tabname):表名 根据 ROWID 检索事务型 HUGE 表数据
HFS UPDATE table:表名 / type:类型,取值:SELECT、CURSOR / mpp_opt:是否通过发送整个计划实现对 MPP 处理的优化 更新非事务型 HUGE表数据
HFSCN (tabname):表名 非事务型 HUGE 表的逐行扫描
HFSCN2 (tabname):表名 / NEED_SLCT(TRUE):是否进行过滤条件下推的优化 事务型 HUGE 表的逐行扫描
HFSEK (tabname):表名 / scan_type:扫描类型 / scan_range:扫描范围 根据 KEY 检索非事务型 HUGE 表数据
HFSEK2 (tabname):表名 / scan_type:扫描类型 / scan_range:扫描范围 根据 KEY 检索事务型HUGE 表数据
HFU table:表名 / type:类型,取值:SELECT、CURSOR / mpp_opt:是否通过发送整个计划实现对 MPP 处理的优化 更新事务型 HUGE 表数据
HIERAR CHICAL QUERY (UNIQUE):结果集是否去重 / key_num:等值连接条件数 / connect_by_condition:连接条件 层次查询
HPM order_keys:排序项 / is_distinct:是否对排序结果进行去重操作 / top_flag:是否有 TOP 子句需要处理 / pll_scan_type:并行处理时扫描相关信息,格式为:[扫描类型,反向扫描信息(可选),末尾 KEY 优化信息(可选)] / pll_keys:并行处理时分区列计算表达式相关信息,格式为:(分区列的计算表达式中相等的个数,分区列的计算表达式中最后一列起始的个数,分区列的计算表达式中最后一列终止的个数) 水平分区表归并排序
INDEX JOIN LEFT JOIN2 join_condition:连接条件 / ret_null:是否仅返回未匹配的行 索引左连接
INDEX JOIN SEMI JOIN2 (ANTI):是否为反连接 / join_condition:连接条件 索引半连接
INSERT (partition_type):分区类型,取值:Vertical Partition:垂直分区;Horizon Partition:水平分区;为空表示不分区 / table:表名或视图名,“-”表示空,使用远程操作时会增加“@”+“dblink连接名”作为后缀 / type:插入类型,取值:UNKNOWN、VALUES、SELECT、MVALUE / hp_opt:是否进行分区列等值过滤优化 / mpp_opt:MPP 模式下插入优化选项,取值:-1:不优化,DPC 环境下取该值;0:不优化,无优化或非 MPP 环境下取该值;1:在随机插入对象表时分发整个插入计划;2:基于 1 的特性,省略 MDIS 分发 插入记录
INSERT_LIST (partition_type):分区类型,取值:Vertical Partition:垂直分区;Horizon Partition:水平分区;为空表示不分区 / table:表名或视图名,“-”表示空,使用远程操作时会增加“@”+“dblink连接名”作为后缀 / type:插入类型,取值:UNKNOWN、VALUES、SELECT、MVALUE / hp_opt:是否进行分区列等值过滤优化 / mpp_opt:MPP 模式下插入优化选项,取值:-1:不优化,DPC 环境下取该值;0:不优化,无优化或非 MPP 环境下取该值;1:在随机插入对象表时分发整个插入计划;2:基于 1 的特性,省略 MDIS 分发 堆表插入
INSERT_REMOTE (partition_type):分区类型,取值:Vertical Partition:垂直分区;Horizon Partition:水平分区;为空表示不分区 / table:表名或视图名,“-”表示空,使用远程操作时会增加“@”+“dblink连接名”作为后缀 / type:插入类型,取值:UNKNOWN、VALUES、SELECT、MVALUE / hp_opt:是否进行分区列等值过滤优化 / mpp_opt:MPP 模式下插入优化选项,取值:-1:不优化,DPC 环境下取该值;0:不优化,无优化或非 MPP 环境下取该值;1:在随机插入对象表时分发整个插入计划;2:基于 1 的特性,省略 MDIS 分发 DBLINK 插入操作
INSERT3 (partition_type):分区类型,取值:Vertical Partition:垂直分区;Horizon Partition:水平分区;为空表示不分区 / table:表名或视图名,“-”表示空,使用远程操作时会增加“@”+“dblink连接名”作为后缀 / type:插入类型,取值:UNKNOWN、VALUES、SELECT、MVALUE / hp_opt:是否进行分区列等值过滤优化 / mpp_opt:MPP 模式下插入优化选项,取值:-1:不优化,DPC 环境下取该值;0:不优化,无优化或非 MPP 环境下取该值;1:在随机插入对象表时分发整个插入计划;2:基于 1 的特性,省略 MDIS 分发 MPP 模式下查询插入优化处理
INTERSECT 无参数 集合的交运算,且取交集后删除重复项
INTERSECT ALL 无参数 集合的交运算,且取交集后不删除重复项
LOCAL BROAD CAST op_id:本地并行模式下节点所属通讯操作符中的序号 本地并行模式下,消息广播到各线程,包含必要的聚集函数合并计算
LOCAL COLLECT op_id:本地并行模式下节点所属通讯操作符中的序号 / n_grp_by:分组列个数 / n_cols:输出列个数 / n_keys:分发列的个数 / for_sync:该操作符是否仅用于同步 本地并行模式下数据收 集 处 理 , 代 替LOCAL GATHER
LOCAL DISTRIBUTE n_grp:分组列个数 / flt_only:是否只需过滤非当前站点。各站点均拥有完整数据时,分发时只需要过滤掉非当前站点的数据 / flt_site_data:是否需要过滤站点数据,仅当参数 flt_only 为 TRUE 时生效 / pipe_mode(TRUE):是否可优化分区表 / n:本地并行工作的线程数 本地并行模式下,消息各线程的相互重分发
LOCAL GATHER op_id:本地并行模式下节点所属通讯操作符中的序号 / n_grp_by:分组列个数 / n_cols:输出列个数 / n_keys:分发列的个数 / invoke_flag:是否在父亲节点存在函数调用的表达式计算。值为 TRUE时从 EP 不执行该计算且直接丢弃儿子节点相关数据 / top_flag:是否有 TOP 子句需要处理 本地并行模式下,消息收集到主线程
LOCAL SCATTER op_id:本地并行模式下节点所属通讯操作符中的序号 / notify_only:邮件是否携带通知标记 本地并行模式下,主线程向各从线程广播消息
LOCK TID 无参数 上锁
LSET 无参数 DBLINK 查询结果集
MERGE INNER JOIN3 key_num:等值连接条件数 / KEY:等值连接条件 / KEY_NULL_EQU:连接列的 NULL 值比较策略。取值:0:NULL 与 NULL不相等;1:NULL 与 NULL 相等。例如:(0,1,0)表示第 1 个和第 3 个连接条件中 NULL 值视为不等,第 2 个连接条件中 NULL 值视为相等 归并内连接
MERGE SEMI JOIN3 (ANTI):是否为反连接 / join_condition:连接条件 / KEY:等值连接条件 / KEY_NULL_EQU:连接列的 NULL 值比较策略。取值:0:NULL 与 NULL不相等;1:NULL 与 NULL 相等。例如:(0,1,0)表示第 1 个和第 3 个连接条件中 NULL 值视为不等,第 2 个连接条件中 NULL 值视为相等 归并半连接
MPP BROAD CAST op_id:MPP 模式下节点所属通讯操作符中的序号 MPP 模式下,消息广播到各站点,包含必要的聚集函数合并计算
MPP COLLECT op_id:MPP 模式下节点所属通讯操作符中的序号 / n_grp_by:分组列个数 / n_cols:输出列个数 / n_keys:分发列的个数 / for_sync:该操作符是否仅用于同步 用于替换顶层 MPP GATHER,除了收集数据到主节点,还增加主从节点间的同步执行功能,防止从节点不断发送数据到主节点造成邮件堆积
MPP DISTRIBUTE op_id:MPP 模式下节点所属通讯操作符中的序号 / n_keys:分发列的个数 / n_grp:分组列个数 / filter:是否只需过滤非当前站点。各站点均拥有完整数据时,分发时只需要过滤掉非当前站点的数据 / rowid_flag:是否根据 rowid 信息获取站点号进行分发 / n:参与计算的站点数,值为 0 时表示其与 EP 个数一致 / slave_empty:是否限制 MPP 从节点向主节点传送数据,或本地并行的从线程向主线程传送数据。取值:0:不限制;1:不允许 MPP 从节点向主节点传送数据;2:不允许本地并行的从线程向主线程传送数据 MPP 模式下,消息各站点的相互重分发
MPP GATHER op_id:MPP 模式下节点所属通讯操作符中的序号 / n_grp_by:分组列个数 / n_cols:输出列个数 / n_keys:分发列的个数 / invoke_flag:是否在父亲节点存在函数调用的表达式计算。值为 TRUE时,从 EP 不执行该计算且直接丢弃儿子节点相关数据 / top_flag:是否有 TOP 子句需要处理 MPP 模式下,消息收集到主站点
MPP SCATTER op_id:MPP 模式下节点所属通讯操作符中的序号 MPP 模式下,主站点向各从站点广播消息
MSYNC op_id:MPP 模式下节点所属通讯操作符中的序号 MPP 模式下,数据同步处理
MVCC CHECK 无参数 多版本检查
NCUR2 cursorname:游标名 游标操作
NEST LOOP FULL JOIN2 join_condition:连接条件 嵌套循环全外连接
NEST LOOP INDEX JOIN2 join_condition:连接条件 索引内连接
NEST LOOP INNER JOIN2 join_condition:连接条件 / [with_var]:嵌套连接是否使用 var 方式 嵌套循环内连接
NEST LOOP LEFT JOIN2 join_condition:连接条件 / [with_var]:嵌套连接是否使用 var 方式 / partition_keys_num:paritition outer join 的 KEY 个数 / ret_null:是否仅返回未匹配的行 嵌套循环左外连接
NEST LOOP SEMI JOIN2 (ANTI):是否为反连接 / join_condition:连接条件 / [with_var]:嵌套连接是否使用 var 方式 / (colidlist):与 var 变量相关的左表列序号序列。例如(0,1,3)表示三个var 变量依次来自左表的第 1、2、4 列 嵌套循环半连接
NSET2 无参数 结果集收集,一般是查询计划的顶层节点
NTTS2 for_mdis:是否从 MPP DISTRIBUTE 获得数据 临时表,临时存放数据
PARALLEL scan_type:扫描类型 / key_num:分区列计算表达式相关信息,格式为:(分区列的计算表达式中相等的个数,分区列的计算表达式中最后一列起始的个数,分区列的计算表达式中最后一列终止的个数) / simple:是否对包含单分区列的一级分区表进行等值查询优化 控制水平分区子表的扫描
PIPE2 无参数 管道。先做一遍右儿子,然后执行左儿子,并把左儿子的数据向上送,直到左儿子不再有数据
PRJT2 exp_num:映射列数 / is_atom:是否要求单行数据 关系的 “ 投影”(project)运算,用于选择表达式项的计算
PSCN 无参数 批量参数当作表来扫描
REMOTE SCAN tabname@dblink_name:表名@dblink 连接名 / alias_name:表的别名 DBLINK 远程表扫描
RN 无参数 实现 ROWNUM 查询
RNSK (rownum_exp):与 rownum 相关的过滤条件 ROWNUM 作为过滤条件时的计算处理
SAGR2 grp_num:分组项个数 / sfun_num:返回上层操作符的集函数个数 / distinct_flag:集函数参数是否去重 / top_num:是否只返回前 N 组 / slave_empty:是否限制 MPP 从节点向主节点传送数据,或本地并行的从线程向主线程传送数据。取值:0:不限制;1:不允许 MPP 从节点向主节点传送数据;2:不允许本地并行的从线程向主线程传送数据 / keys:分组项 如 果 输 入 流 是 有 序的,则使用流分组,并计算聚集函数
SELECT INTO2 无参数 查询插入
SET TRANSACTION writeable:是否为可更新事务 / iso_level:事务隔离级别,取值:READ UNCOMMITTED:读未提交;READ COMMITTED :读提交; REPEATABLE READ : 可 重 复 读 ;SERIALIZABLE:可序列化 事务操作(START 除外)
SLCT2 (condition):过滤条件 / SLCT_PUSHDOWN(TRUE):是否进行过滤条件下推的优化 关系的 “ 选 择 ”(select)运算,用于查询条件的过滤
SORT2 key_num:排序列个数 / is_distinct:排序时是否进行去重操作 / is_adaptive:是否使用排序的自适应优化(即当下层数据有序时,此次排序实际不进行) 排序
SORT3 key_num:排序列个数 / is_distinct:排序时是否进行去重操作 / top_flag:是否返回排序后的 N 行 / is_adaptive:是否使用排序的自适应优化(即当下层数据有序时,此次排序实际不进行) 排序
SPL2 stask_no:子任务的序号,-1 表示 root 子任务 / key_num:包含 ROWID 在内的 KEY 数 / spool_num:SPOOL 临时表编号 / is_atom:是否限制只能产生单行结果 / has_var:外层传入变量存在性探测结果(相关查询需探测外层传入变量) / sites:站点的 ID 和并行度序列,“-”表示空。例如:(1:3,2:4)表示 1 号站点并行度 3,2 号站点并行度 4 临时表。和 NTTS2 不同的是,它的数据集不向父亲节点传送,而是被编号,用编号和 KEY 来定位访问;而 NTTS2 的数据,主动传递给父亲节点
SSCN idxname(tabname) :索引名(表名) 直接使用二级索引进行扫描
SSEK2 scan_type:扫描类型 / idxname(tabname) :索引名(表名) / scan_range:扫描范围 二级索引数据定位
START TRANSACTION writeable:是否为可更新事务 / iso_level:事务隔离级别,取值:READ UNCOMMITTED:读未提交;READ COMMITTED :读提交; REPEATABLE READ : 可 重 复 读 ;SERIALIZABLE:可序列化 启动会话
STAT 无参数 统计信息计算
TOPN2 top_num:TOP 子句的行数表达式 / top_off:top_num 的偏移量。例如:top_off=3、top_num=4 时,从第 3 行后开始,取第 4 到第 7 共 4 行结果 / top_percent:top_num 的百分比。例如:top_percent=0.5、top_num=100 时,取前 50 行结果(参数 top_off 和 top_percent不会同时出现) 取前 N 条记录
UFLT IS_TOP_1:是否在更新操作时相同 ROWID 只保留 1 条记录,防止碰到重复数据报错 处理 UPDATE FROM子句
UNION 无参数 无参数
UNION ALL CTE:递归 WITH 查询名 UNION ALL 运算
UNION ALL(MERGE) merge_type:排序方式,取值:A:升序排列;D:降序排列;L:升序排列,NULL 值结果排在末尾;1:降序排列,NULL 值结果排在末尾 / n_merge_keys:表的列数 UNION ALL 运算(使用归并)
UNION FOR OR(MERGE) merge_type:排序方式,取值:A:升序排列;D:降序排列;L:升序排列,NULL 值结果排在末尾;1:降序排列,NULL 值结果排在末尾 / n_merge_keys:表的列数 / n_dist_keys:去重的列数 OR 过滤的 UNION 计算(使用归并)
UNION_FOR_OR2 key_num:需要进行去重操作的列数 / outer_join:UNION 操作的外连接类型,取值:L:左外连接;R:右外连接;F:全外连接;-:非外连接 OR 过滤的 UNION 计算
UPDATE (partition_type):分区类型,取值:Vertical Partition:垂直分区;Horizon Partition:水平分区;为空表示不分区 / table:表名或视图名,“-”表示空,使用远程操作时会增加“@”+“dblink 连接名”作为后缀 / type:更新类型,取值:SELECT、CURSOR / mpp_opt:是否通过发送整个计划实现对 MPP 处理的优化 / hp_opt:是否进行分区列等值过滤优化 更新数据
UPDATE_REMOTE (partition_type):分区类型,取值:Vertical Partition:垂直分区;Horizon Partition:水平分区;为空表示不分区 / table:表名或视图名,“-”表示空,使用远程操作时会增加“@”+“dblink 连接名”作为后缀 / type:更新类型,取值:SELECT、CURSOR / mpp_opt:是否通过发送整个计划实现对 MPP 处理的优化 / hp_opt:是否进行分区列等值过滤优化 DBLINK 更新操作

你可能感兴趣的:(DMSQL,数据库,数据库)