返回首页

gbase数据、南大通用产品文档:GBase8sMAX_PDQPRIORITY 配置参数

更新日期:2024年09月11日

使用 MAX_PDQPRIORITY 配置参数来限制 PDQ 资源,数据库服务器可将这些资源分配给任
一 DSS 查询。
onconfig.std 值
MAX_PDQPRIORITY 100

0 = 关闭 PDQ。DSS 查询不使用并行性。
1 = 从分片表并行取回数据(并行扫描),但不使用其他形式的并行性。
2 - 100 = 设置实际地分配给该查询的用户要求的 PDQ 资源百分率。100 使用所有可用资
源来并行处理查询。
生效

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 106 -
在所有用户会话上,编辑 onconfig 文件并重启数据库服务器之后。
当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。
当您通过运行 onmode -wm 命令重置内存中的该值时。
用法
MAX_PDQPRIORITY 是用来衡量用户设置的 PDQ 优先权的一个因素。例如,假定数据库管理
员设置 MAX_PDQPRIORITY 为 80。如果一个用户设置 PDQPRIORITY 环境变量 为 50 然后
发出一个查询,则数据库服务器自动地以 PDQ 优先权 40 处理该查询。
在数据库服务器 online 时,您可使用 onmode 实用程序来更改 MAX_PDQPRIORITY 的值。

在 GBase 8s 中,PDQ 资源包括内存、CPU、磁盘 I/O 和扫描线程。MAX_PDQPRIORITY 让
数据库管理员与 OLTP 并发地运行决策支持,未影响 OLTP 性能。 然而,如果
MAX_PDQPRIORITY 过低,可降低决策支持查询的性能。

deccvlong() 函数将 C long 类型值转换为 decimal 类型值。
语法

mint deccvlong(lng_val, dec_val)
int4 lng_val;
dec_t *dec_val;
lng_val
deccvlong() 转换为 decimal 类型值的 int4 值。
dec_val
指向 deccvlong() 放置转换结果的 decimal 结构的指针。

返回代码
0
转换成功。
<0
转换失败。

示例

GBase 8s ESQL/C 编程指南
南大通用数据技术股份有限公司
- 638 -

demo 目录中的文件 deccvlong.ec 包含下列样例程序。
/*
* deccvlong.ec *

The following program converts two longs to DECIMAL numbers and displays the
results. */


#include

EXEC SQL include decimal;
char result[41];
main()
{
mint x;
dec_t num;

int4 n;

printf("DECCVLONG Sample ESQL Program running.\n\n");

printf("Long Integer 1 = 129449233\n");
if (x = deccvlong(129449233L, #))
{
printf("Error %d in converting long to DECIMAL\n", x);
exit(1);
}
if (x = dectoasc(#, result, sizeof(result), -1))
{
printf("Error %d in converting DECIMAL to string\n", x);
exit(1);
}
result[40] = '\0';

GBase 8s ESQL/C 编程指南
南大通用数据技术股份有限公司
- 639 -

printf(" String for Decimal Value = %s\n", result);

n = 2147483646; /* set n */
printf("Long Integer 2 = %d\n", n);
if (x = deccvlong(n, #))
{
printf("Error %d in converting long to DECIMAL\n", x);
exit(1);
}
if (x = dectoasc(#, result, sizeof(result), -1))
{
printf("Error %d in converting DECIMAL to string\n", x);
exit(1);
}
result[40] = '\0';
printf(" String for Decimal Value = %s\n", result);

printf("\nDECCVLONG Sample Program over.\n\n");
exit(0);
}


输出
DECCVLONG Sample ESQL Program running.

Long Integer 1 = 129449233
String for Decimal Value = 129449233.0
Long Integer 2 = 2147483646
String for Decimal Value = 2147483646.0
DECCVLONG Sample Program over.

使用“删除存储过程”功能,您可以删除所选存储过程。

“数据库导航”
中,
右键单击Schema 节点下的存储过程节点中的存储过

GBaseDataStudio 管理工具手册
- 70 -
南大通用数据技术股份有限公司
程,选择菜单中的“删除”菜单项,如下图所示:
图5- 399 删除存储过程
选择“删除”菜单后,将会弹出确认删除对话框,在确认删除后该存储过
程将被删除,删除确认对话框如下:
图5- 400 删除确认