首页 > 数据库 > 国内数据库 > GBase8s PDQ功能简介
1.
PDQ
可以提供如下动作并行操作:
扫描(parallel scans);
关联(parallel joins);
排序(parallel Sorts);
分组(parallel group);
聚集(parallel aggregates)。
2.
涉及参数如下:
MAX_PDQPRIORITY:
DS_MAX_QUERIES:并行PDQ查询的数量;
DS_TOTAL_MEMORY: DSS查询支持的最大内存;
DS_MAX_SCANS:最大扫描线程数,默认1024*1024 ; ;
DS_NONPDQ_QUERY_MEM: 最大=DS_TOTAL_MEMORY*25%
3.
动态修改方法:
onmode -D 修改MAX_PDQPRIORITY
onmode -M 修改DS_TOTAL_MEMORY
onmode -S 修改DS_MAX_SCANS
onmode -Q 修改DS_MAX_QUERIES
4.
如下操作可以使用PDQ:
1
)
select
、update、delete、update
2
)
create index
3
)
update statistics
4
)
hold cursors
5
)
User-Defined Routines, User-Defined Aggregates
以下查询不能使用到PDQ:
1
)
查询使用cursor stability 隔离级;
2
)
查询包含for update或with hold的字句;
3
)
查询包含子查询;
4
)
查询语句包含SPL函数;
5
)
对于delete操作,当删除的表中包含一个引用约束时;
6
)
DDL
语句
5.
要使用PDQ,需要考虑如下因素:
1
)
使用set pdqpriority n;
2
)
使用分片表;
3
)
操作系统有多CPU,VPCLASS中cpu vp大于1;
PDQ
以Quantum 为单位分配内存
1Quantum = DS_TOTAL_MEMORY/DS_MAX_QUERIES
某个PDQ会话的内存分配的范围在1Quantum和DS_TOTAL_MEMORY*MAX_PDQPRIORITY*PDQPRIORITY之间.
6.
如下环境变量需要注意:
PSORT_NPROCS:用来设置排序和聚集线程的数量;
DBUPSPACE=8192:50:3 {磁盘空间}:{内存大小} :{directive}:
磁盘空间用于设置update statistics medium|high时候的排序空间的大小;
内存大小用于设置在没有开启PDQ的情况下的排序内存的大小(4-50MB);
directive用于为update statistics设置如下directive:
=1:不使用任何索引排序 ,打印update statistics完整的执行计划 ,
=2:不使用任何索引排序,不打印执行计划
=3:选择可用的索引进行排序,打印完整的执行计划
官网:
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69980677/viewspace-2769014/ ,如需转载,请注明出处,否则将追究法律责任。