达梦数据库DM8并行参数介绍

合理的使用数据库并行能力可以有效的提升数据的性能。

一、关于并行

本地并行查询(Local Parallel Query, LPQ) 是指利用一台数据库服务器的多个线程同时执行查询操作。只有当主机具有多个 CPU 内核时,开启 LPQ 才能提高查询任务的性能。

二、达梦数据库中并行的相关参数

在这里插入图片描述
在这里插入图片描述

三、参数解释

MAX_PARALLEL_DEGREE 参数用于控制单个查询最大开启的任务数量。

PARALLEL_POLICY 开启或关闭本地并行查询。
0 表示禁止 LPQ。
1 采用自动并行,即系统对任何一个 SQL 都试图使用LPQ,除非使用了 HINT 限制并行任务个数。
2 采用手动并行,即除非使用了 HINT 指定了并行任务个数,否则都不采用 LPQ。

当开启自动并行(PARALLEL_POLICY=1)时,参数 MAX_PARALLEL_DEGREE 生效,控制单个查询采用并行查询时最多使用的线程数。
MAX_PARALLEL_DEGREE 缺省值为 0,表示不并行,此时若指定参数对应的 HINT “PARALLEL”,则使用 HINT 值。
当开启手动并(PARALLEL_POLICY=2)时,参数 MAX_PARALLEL_DEGREE 失效,用户需要在语句中使用此参数对应的 HINT “PARALLEL”指定语句的最大并行任务数,否则不并行。

MAX_PARALLEL_DEGREE 要小于等于 PARALLEL_THRD_NUM 。 如果MAX_PARALLEL_DEGREE过大,会自动调整为等于 PARALLEL_THRD_NUM。

四、hit 并行语法

HINT 语法格式如下:

SELECT /*+ PARALLEL(4) */ * FROM SYSOBJECTS;

在执行并行查询任务之前,您需要指定完成并行查询的并行工作线程总个数。 并行工作线程总数是系统启动时,创建的并行工作线程的总个数,一般不超过 CPU 内核个数的 2 倍。

值得注意的是,实际使用的线程数并非总是等于并行工作线程总数。并行工作线程总数是在 INI 参数中设定的,实际使用并行工作线程数是根据系统的实际状况确定的。

并非所有的查询都适合使用并行查询。大量占用 CPU 周期的查询最适合采用并行查询的功能。
例如,大型表的连接查询、大量数据的聚合和大型结果集的排序等都很适合采用并行查询。对于简单查询(常用于事务处理应用程序)而言,执行并行查询所需的额外协调工作会大于潜在的性能提升。所以,数据库管理员在确定是否需要使用并行策略的时候,需要慎重。


达梦技术社区地址:https://eco.dameng.com

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值