DM常见的执行计划符以及含义

收集结果集
NSET 用于结果集收集的操作符,一般是查询计划的顶层节点

投影
PRJT 关系的“投影”(project)运算,用于选择表达式项的计算;广泛用于查询,排序,函数索引创建等

选择
SLCT 关系的“选择” 运算,用于查询条件的过滤。

简单聚集
AARG 用于没有group by的count sum age max min等聚集函数的计算

快速聚集
FAGR 用于没有过滤条件时从表或索引快速获取MAX/MIN/COUNT值;DM数据库是世界上单表不带过滤条件下取COUNT值最快的数据库

HASH分组聚集
HAGR 用于分组列没有索引只能走全表扫描的分组聚集,C2列没有创建索引

流分组聚集
SAGR 用于分组列是有序的情况下,可以使用流分组聚集,C1上已经创建了索引,SAGR2性能优于HAGR2

二次扫描
BLKUP 先使用2级别索引定位,再根据表的主键、聚集索引、rowid等信息定位数据行。

全表扫描
CSCN CSCN2是CLUSTER INDEX SCAN的缩写即通过聚集索引扫描全表,全表扫描是最简单的查询,如果没有选择谓词,或者没有索引可以利用,则系统一般只能做全表扫描。在一个高并发的系统中应尽量避免全表扫描

索引扫描
SSEK CSEK SSCN
SSEK2是二级索引扫描即先扫描索引,再通过主键、聚集索引、ROWID等信息去扫描表 CSEK2是聚集索引扫描只需要扫描索引,不需要扫描表 SSCN是索引全扫描,不需要扫描表

嵌套循环连接
NEST LOOP原理:两层嵌套循环结构,有驱动表和被驱动表之分。选定一张表作为驱动表,遍历驱动表中的每一行,根据连接条件去匹配第二张表中的行。驱动表的行数就是循环的次数,这个很大程度影响了执行效率

HASH JOIN的特点: 一般没索引或用不上索引时会使用该连接方式 选择小的表(或row source)做hash表 只适用等值连接中的情形
Hash连接比较消耗内存,如果系统有很多这种连接时,需调整以下3个参数: HJ_BUF_GLOBAL_SIZE HJ_BUF_SIZE HJ_BLK_SIZE
原理:使用较小的Row source 作为Hash table和Bitmap. 而第二个row source被hashed,根据bitmap与第一个row source生成的hash table 相匹配,bitmap查找的速度极快。
归并排序连接
MERGE SORT的特点: 无驱动表之分,随机读很少 两个表都需要按照连接列排序,需要消耗大量的cpu和额外的内存

详细手册可参考达梦官方网站,或登录社区进行交流学习
https://eco.dameng.com

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值