达梦8 并行查询方式

达梦8 并行查询方式

在达梦数据库DM8中,并行查询功能通过利用多个CPU和磁盘设备的处理能力来优化查询任务的性能,使得单个SQL语句能够被多个线程处理,从而提高查询效率。以下是并行查询功能的详细介绍:

自动并行查询

当发起一个查询时,SQL语句会自动采用并行方式查询数据。使用自动并行模式时,相关参数有三个:

  • MAX_PARALLEL_DEGREE: 设置默认并行任务个数。
  • PARALLEL_POLICY: 设置并行策略(0表示不支持并行,1表示自动并行模式,2表示手动并行模式)。
  • PARALLEL_THRD_NUM: 设置并行工作线程个数。

1. 查询并行策略

可以通过以下SQL语句查询当前并行策略:

 
SELECT para_name, para_value FROM v$dm_ini WHERE para_name='PARALLEL_POLICY';

2. 设置自动并行查询

要将查询设置为自动并行模式,可以使用以下命令:

 
SP_SET_PARA_VALUE(2, 'PARALLEL_POLICY', 1);

注意,这个参数是静态参数,修改完成后需要重启数据库服务。

3. 自动并行查询验证

可以通过以下SQL语句验证并行查询设置:

 
EXPLAIN SELECT DEPARTMENT_ID, COUNT(*) FROM DMHR.EMPLOYEE GROUP BY DEPARTMENT_ID;

手动并行查询

在SQL语句运行时,可以手动指定并行度,以优化特定的SQL语句。使用手动并行模式时,相关参数有两个:

  • PARALLEL_POLICY
  • PARALLEL_THRD_NUM

1. 设置手动并行查询

将查询设置为手动并行模式:

 
SP_SET_PARA_VALUE(2, 'PARALLEL_POLICY', 2);

2. 关闭并行查询

如果不需要并行查询,可以使用以下命令:

 
EXPLAIN SELECT DEPARTMENT_ID, COUNT(*) FROM DMHR.EMPLOYEE GROUP BY DEPARTMENT_ID;

3. 手动开启并行查询

可以通过以下命令手动指定并行度:

 
EXPLAIN SELECT /*+PARALLEL(6)*/ DEPARTMENT_ID, COUNT(*) FROM DMHR.EMPLOYEE GROUP BY DEPARTMENT_ID;

注意事项

并行查询能够优化SQL语句,提升响应速度,但并不是所有的查询都适合并行查询。是否开启并行查询还需根据CPU数量及其繁忙程度来决定。

通过以上配置和策略,达梦数据库的并行查询功能可以有效利用多CPU服务器的资源,优化查询任务的性能。

https://eco.dameng.com 达梦社区

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值