返回首页

gbase数据、南大通用产品文档:GBase8s64 位平台上的内存使用

更新日期:2024年09月11日

通过 64 位寻址,您可以有更大的缓冲池用于减少从磁盘获取数据的 I/O 操作量。因为
64 位平台允许更大的内存地址空间,所以以下与内存相关的配置参数的最大值在 64 位
平台上更大:
• BUFFERPOOL
• CLEANERS
• DS_MAX_QUERIES
• DS_TOTAL_MEMORY
• LOCKS
• LRUS
• SHMADD
• SHMVIRTSIZE
每个 64 位平台的机器说明列出了以上配置参数和特定于平台的参数(例如 SHMMAX)
的最大值。

GBase 8a MPP Cluster 允许名称由一个或多个标识符组成。
组合名称的各个组成成
分应该用英文句号字符“.”分隔开。组合名称的开始部分做为限定词来使用,它
影响了上下文中后面的标识符的解释。
在GBase 8a MPP Cluster 中,
用户可以使用下列表格中的任一种方式引用一个列:
表5- 2 列引用方式
列引用
含义
col_name
列col_name 来自查询所用的任何一个表中对应字段。
table_name.col_name
列col_name 来自当前数据库中的表table_name。
database_name.table_name.c
ol_name
列col_name 来自数据库database_name 中的表
table_name。
vc_name.database_name.tabl
e_name.col_name
列col_name 来自虚拟集群vc_name 的数据库
database_name 中的表table_name。
`column_name`
该字段是一个关键词或包含特殊字符。
组合标识符如果需要引用,则标识符的各部分都要各自引用,而不是把组合标识
符作为一个整体来引用。例如:`gs-table`.`gs-column`合法,`gs-table.gs-column`
不合法。
在一条语句的列引用中,不需要明确指定一个table_name 、
database_name.table_name 或vc_name.database_name.table_name 前缀,除非这个
引用存在二义性。例如:
1)假设表t1 和t2 均包含一个字段c,
当用一个使用了t1 和t2 的SELECT 检索c
时,在这种情况下,字段c 存在二义性,因为它在这个语句所使用的表不是唯一
的,因而必须通过写出t1.c 或t2.c 来指明用户所需的是哪个表。
2)如果从数据库db1的表t和数据库db2的表t中检索,
用户必须用db1.t.col_name
和db2.t.col_name 来指定引用哪个库表的列。
3)如果从vc1 中数据库db1 的表t 和vc2 中数据库db2 的表t 中检索,用户必须
用vc1.db1.t.col_name 和vc2.db2.t.col_name 来指定引用哪个库表的列。

功能说明
LOOP 结构是GBase 8a MPP Cluster 中的一个简单的循环结构,用于重复执行一
个或者一组语句。这个循环结构在形式上是个死循环结构,因此在执行体中通常
要包括一个条件判断语句和LEAVE 语句用于退出循环。
语法格式
[begin_label:] LOOP
statement_list
END LOOP [end_label]
表5- 178 参数说明
参数名称


statement_list
要执行的SQL 语句集合,
可以是一个语句也可以是多个语句。
示例
示例1:LOOP...END LOOP
gbase> DELIMITER //
gbase> DROP PROCEDURE IF EXISTS doiterate //
Query OK, 0 rows affected
gbase> CREATE PROCEDURE doiterate(p1 INT)
BEGIN
label1: LOOP
SET p1 = p1 + 1;

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
1368
IF p1 < 10 THEN ITERATE label1; END IF;
LEAVE label1;
END LOOP label1;
SET @x = p1;
END //
Query OK, 0 rows affected
gbase> DELIMITER ;
gbase> CALL doiterate(1);
Query OK, 0 rows affected
gbase> SELECT @x;
+------+
| @x
|
+------+
|
10 |
+------+
1 row in set