首页 > 数据库 >达梦数据库有关hash及分组等操作相关优化

达梦数据库有关hash及分组等操作相关优化

时间:2024-08-09 17:18:06浏览次数:13  
标签:FundID SeatNo SUM 分组 hash BUF 达梦 SIZE

最近在项目中调试存储过程碰到一些关于hash及分组相关的性能问题 示例1:在调试过程中, 该sql执行很久后面报超出全局 hash join 空间的错误,重新调整HJ_BUF_GLOBAL_SIZE ,执行一个小时也不出结果。 INSERT INTO t_test (SELECT FundID, SeatNo, SUM(Balance), SUM(Available), SUM(IncomeAmt), '20240807', 'Y' FROM TESTA GROUP BY FundID,SeatNo) ; sql执行计划如下  上面主要是查询分组聚合太慢 ,可以通过hint 放大harg的桶数和单个操作符的内存: /*+USE_DHASH_FLAG(3) HAGR_HASH_SIZE(100000000) HAGR_BLK_SIZE(50) HAGR_BUF_SIZE(3000) HAGR_BUF_GLOBAL_SIZE(18000)  */  参数说明: 上面sql在debug调试中加了并行,debug的时候一直在执行不结束,单独拿出来在另外一个窗口执行很快出结果。原因未知,在调试过程中尽量不要加并行。  示例2:下面sql执行也一样慢 SELECT FundID, SeatNo, InvTP,SUM(Balance), SUM(Available), SUM(IncomeAmt), '20240807', 'Y' FROM TESTA t, TESTB s WHERE t.FundAcct = s.FundAcct GROUP BY FundID,SeatNo,InvTP; 上面执行计划用到了hash和hagr,hagr参数可以按照上面示例1来调整, hash可以通过调整HJ_BUF_SIZE和JOIN_HASH_SIZE避免hash连接刷盘和hash冲突,来提升效率 JOIN_HASH_SIZE 设置成驱动表的记录数稍大的整数即可

标签:FundID,SeatNo,SUM,分组,hash,BUF,达梦,SIZE
From: https://www.cnblogs.com/fangzpa/p/18347564

相关文章

  • 达梦数据库如何定位查询慢SQL
    数据库日常运维中,常常需要对数据库的性能和负载进行监控和优化,因此,能够及时采集发现慢SQL很重要。达梦有三种方式,可以获取数据库慢SQL。第一种,利用达梦的SQL日志如果将DM数据库配置文件中的参数SVR_LOG设置为打开,则系统还会在log目录下生成名为dmsql_实例名_日期_时间.log......
  • 域控安全:读取ntds.dit文件中的hash值
    多种方式离线读取ntds.dit文件中的hash值多种方式在线读取ntds.dit文件中的hash值多种方式离线读取ntds.dit文件中的hash值离线一般需要两步:1、将远端域控的ntds.dit下载到本地,2、然后利用再在本地进行。注意:因为system.hive里存放着ntds.dit的秘钥,所以需要转储......
  • DevExpress WPF中文教程:如何在GridControl中对数据排序、分组、过滤?
    DevExpressWPF拥有120+个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpressWPF能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。无论是Office办公软件的衍伸产品,还是以数据为中心......
  • ABC365F Takahashi on Grid 题解
    ##题目大意有一个网格图,对于$i=1,2,\dotsn$,第$i$列的$[L_i,U_i]$上的单元格是可到达的,形如下面这张图。![](https://img.atcoder.jp/abc365/4d07a40c98eda33ee86b773e564681c7.png)图中对于$i=1,2,\dots7$,$[L_i,U_i]$分别为:```15331311142435```......
  • 如何解决hashmap不按序问题
    HashMap 在Java中本质上是不保证任何顺序的,特别是它不保证元素会按照插入的顺序进行存储或遍历。如果需要维护元素的插入顺序,可以使用 LinkedHashMap,它在内部通过维护一个双向链表来保持插入顺序。如果想要按照键的自然顺序或者自定义的比较器顺序来存储和遍历键值对,可以使......
  • 达梦数据库的系统视图v$mem_reginfo
    达梦数据库的系统视图v$mem_reginfo达梦数据库的V$MEM_REGINFO视图提供了系统当前已分配但未释放的内存信息。这个视图在MEMORY_LEAK_CHECK参数设置为1时才会注册信息,用于监控内存的申请和释放情况。通过查询V$MEM_REGINFO视图,可以关注REFNUM字段,如果该字段值很大,则可能存......
  • password_hash加密实例
    $pwd=password_hash('123456',PASSWORD_DEFAULT);echo$pwd;$res=password_verify('1234567',$pwd);var_dump($res);1.password_hash()函数用于创建密码的散列(hash)PHP版本要求:PHP5>=5.5.0,PHP7语法stringpassw......
  • Java集合:Collection and Map;ArrayList;LinkList;HashSet;TreeSet;HashMap;TreeMap;Iterator:
        集合介绍:                        是一组变量类型(容器),跟数组很像。一,引用集合的原因(必要性):                  A:数组的空间长度固定,一旦确定不可以更改。多了浪费,少了报错。          B:使用数......
  • Hashtable工具类 - C#小函数类推荐
          此文记录的是一个Hashtable的增强版本,以前没泛型的时候笔者喜欢用Hashtable,性能刚刚的。/***Hashtable工具类AustinLiu刘恒辉ProjectManagerandSoftwareDesignerE-Mail:[email protected]:http://lzhdim.cnblogs.comD......
  • 正则表达式(分组、零宽断言)
     目录正则表达式分组捕获组编号捕获组(pattern)命名捕获组(?\<name>pattern)非捕获组(?:pattern)零宽断言先行断言零宽正向先行断言(?=pattern1)pettern2零宽负向先行断言(?!pattern1)pettern2后行断言零宽正向后行断言(?<=pattern1)petter......