PDQ相关原理

 set PDQPRIORITY <number>

<number> 的取值范围是0~100,0表示不使用并行,1~100表示打开了并行,配置越大,并行查询使用的内存越大。并行查询的内存上限是通过ds_total_memory控制的,如果有多个用户同时执行并行数据库查询,那么你需要在应用程序中控制每个用户使用的内存。

内存的申请是以quantum为单位的,它的值由两个配置参数ds_total_memory和ds_max_queries决定。

      quantum=ds_total_memory/ds_max_queries

实际生效的并行度是由下面的公式决定的:

      effective_pdq=(pdqpriority/100)*(max_pdqpriority/100)

     其中:

     pdqpriority是在应用程序中设置的,max_pdqpriority是在配置文件中设置的,一般为100。一个并行查询的申请的内存上限值是effective_pdq*ds_total_memory。

     因此,如果系统中最大有20个用户需要同时执行并行数据库查询,应用中pdqpriority值的最大设置是5;如果有1000个用户同时执行并行查询,假设应用中pdqpriority值的是5,那么你需要将max_pdqpriority降低到20以内。

猜你喜欢

转载自blog.csdn.net/David_ifx/article/details/120797764