返回首页

gbase数据、南大通用产品文档:GBase8agbase_buffer_hgrby

更新日期:2024年09月11日

功能
这个参数用于设置数据库做GROUP 时使用的BUFFER 大小。
如果用户的SQL 操作经常出现GROUP BY 操作,
则可以适当将该参数调大一些。
通常该内存从LARGE BUFFER 中申请,因此该值应小于gbase_heap_large 的大
小。

GBase 8a MPP Cluster 产品手册
6 附录
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
1578
系统会根据gbase_heap_data 的大小,自动计算gbase_buffer_hgrby 的最小值。如
果用户的设置值小于程序计算的最小值,则会忽略该参数的设置值。
该参数的默认值是由系统自动评估计算出来的,不是固定的值。

17:51:39
all


EXEC SQL BEGIN DECLARE SECTION;
char prncpl_strng[15]; /* character host variable */
EXEC SQL END DECLARE SECTION;


EXEC SQL select principal into :prncpl_strng from loan
where customer_id = 1098;
printf("Value of principal=%s\n", prncpl_strng);

因为 prncpl_strng 主机变量时一个 15 字节的缓冲区,所以 GBase 8s ESQL/C 可以
将所有的 decimal 数字放置到主机变量中,此代码段产生以下输出:

Value of principal=1234.876351200

但是,如果前面的代码段声明 prncpl_strng 主机变量为一个 10 字节的缓冲区,则

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

GBase 8s ESQL/C 舍入 FLOAT 值以填充到 prncpl_strng,此代码段产生以下输出:

Value of principal=1234.8764

GBase 8s ESQL/C 为 FLOAT 或 SMALLFLOAT 值假定 17 十进制位的精度。对于
DECIMAL(n,m),GBase 8s ESQL/C 假定 m 个数位。