返回首页

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

更新日期:2024年09月11日

使用 DS_NONPDQ_QUERY_MEM 配置参数来增加查询可用的内存数量,
该查询不是并行数据库
查询(PDQ)。(如果 PDQ 优先级设为零,则您可仅使用该参数。)
onconfig.std 值
DS_NONPDQ_QUERY_MEM:
l UNIX™ 上:256
l Windows™ 上:128

从缺省值到 DS_TOTAL_MEMORY 值的 25%
单位
KB
生效
编辑 onconfig 文件并重启数据库服务器之后。

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 70 -

当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。
当您通过运行 onmode -wm 命令重置内存中的该值时。
用法
如果您为 DS_NONPDQ_QUERY_MEM 参数指定一个值,
则根据表行的数目和大小确定和调整该
值。
提示: 通常设置该值不超过最大可用临时 dbspace 大小。
在数据库服务器初始化期间根据计算得到的 DS_TOTAL_MEMORY 值来计算
DS_NONPDQ_QUERY_MEM 值。如果在处理 DS_NONPDQ_QUERY_MEM 期间,数据库服务器更改您
设置的该值,则服务器按此格式发送消息:
DS_NONPDQ_QUERY_MEM recalculated and changed from old_value Kb to new_value Kb.
在此消息中,old_value 表示您在用户配置文件中赋给 DS_NONPDQ_QUERY_MEM 的值,
new_value 表示由数据库服务器确定的值。

参数说明:标识是否依据规则约束使用基于面向列的hash 表设计的Hash Join 算子。
该参数属于USERSET 类型参数,请参考表15-1 中对应设置方法进行设置。
取值范围:布尔型

on 表示在满足约束条件时使用基于面向列的hash 表设计的Hash Join 算子。

off 表示不使用面向列的hash 表设计的Hash Join 算子。
说明:


当前开关仅适用于Inner Join 的场景。

在开启enable_sonic_hashjoin,查询对应的Hash Inner 算子内存使用通常可获得精
简。
但对于代码生成技术可获得显著性能提升的场景,
对应的算子查询性能可能会
出现劣化。

开启enable_sonic_hashjoin,且查询达到约束条件使用基于面向列的hash 表设计的
Hash Join 算子时,在Explain Analyze/Performance 的执行计划和执行信息中,算子
显示为“Sonic Hash Join”,而未达到该约束条件时,算子名称将显示为“Hash Join”,
Explain 详解请参见详解。
默认值:on

rupshift() 函数将以空终止的字符串内的所有字符更改为大写字符。

语法
void rupshift(s)
char *s;
s
指向以空终止的字符串的指针。

用法

rupshift() 函数应用当前的语言环境来确定大写和小写字母。对于缺省的语言环境 US
English,rupshift() 使用 ASCII 小写字母(a-z)和大写字母(A-Z)。

如果您使用非缺省的语言环境,则 rupshift() 使用该语言环境定义的小写字母和大写
字母。

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


示例

此示例程序在 demo 目录中的 rupshift.ec 文件中。
/*
* rupshift.ec *

The following program displays the result of rupshift() on a string of numbers, letters and
punctuation.
*/

#include

main()
{
static char string[] = "123abcdefghijkl;.";

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

printf("\tInput string: %s\n", string);
rupshift(string);
printf("\tAfter upshift: %s\n", string); /* Result */

printf("\nRUPSHIFT Sample Program over.\n\n");
}
输出

RUPSHIFT Sample ESQL Program running.

Input string: 123abcdefghijkl;.
After upshift: 123ABCDEFGHIJKL;.

RUPSHIFT Sample Program over.

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