返回首页

gbase数据、南大通用产品文档:GBase8aSQL 脚本管理

更新日期:2024年09月11日

SQL 脚本管理内容包括:加载SQL 脚本和保存SQL 脚本。加载SQL 脚本可
以选择本地已经保存的SQL 脚本进行导入。保存SQL 脚本可以保存目前用户正
在编辑的SQL 脚本保存到本地磁盘中。

GBaseDataStudio 管理工具手册
南大通用数据技术股份有限公司
- 369 -
图6- 16 SQL 脚本管理

问题现象
在高可用测试中,拔掉网线,单节点失效后,反馈结果从秒级产生了7 分钟的延
迟。
解决方法

若socket send buffer 中有数据,则keepalive 机制失效,规避方法为修改
/proc/sys/net/ipv4/tcp_retries2 =3。建议在安装的时候自动修改此参数。

若正常执行20 秒的sql 断网线后阻塞3 分钟报错返回,
keepalive 机制起作用。
说明

关于keepalive 的参数默认值为3 分钟(120+5*12 = 180 S)返回,如果客户对返回
时间有要求,可以减少默认值:

gcluster_connection_keep_idle = 120;//多长时间没响应开始探测网络,
此参数最
小值为60s;

gcluster_connection_keep_interval=5;//每次探测间隔时间,单位:S;

gcluster_connection_keep_count=12;//探测的次数。

例如可以修改如下,将在70 秒(60+2*5)内返回:

GBase 8a MPP Cluster 最佳实践
5 FAQ
文档版本(2022-02-11)
南大通用数据技术股份有限公司
97
gcluster_connection_keep_idle =60;
gcluster_connection_keep_interval=2;
gcluster_connection_keep_count=5;

语法格式
create [temporary] table [if not exists] [vc_name.][database_name.]table_name
(create_definition,...)
create_definition:
col_name column_definition
column_definition:
data_type [not null] [default default_value]
[auto_increment] [primary key]
表5- 85 参数说明
参数名称


vc_name
vc 名,可选项。
database_name
数据库名,可选项。
table_name
表名。
data_type
data_type 为tinyint、smallint、int、bigint。
说明

自增列的属性必须为not null;

创建自增列时必须带primary key 关键字(8a 不支持primary key 功
能,此处primary key 仅作为语法兼容);

每个表最多只能有一个自增列。

自增列不能是hash 分布列
示例
示例1:随机分布表上创建自增列

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
1008
gbase> CREATE TABLE t1(name varchar(10),id int not null primary key
auto_increment);
Query OK, 0 rows affected (Elapsed: 00:00:00.08)
gbase> SHOW CREATE TABLE t1 \G
*************************** 1. row ***************************
Table: t1
Create Table: CREATE TABLE "t1" (
"name" varchar(10) DEFAULT NULL,
"id" int(11) NOT NULL AUTO_INCREMENT,
PRIMARY KEY ("id")
)
ENGINE=EXPRESS
DEFAULT
CHARSET=utf8
TABLESPACE='sys_tablespace'
1 row in set (Elapsed: 00:00:00.00)
示例2:复制表上创建自增列
gbase> CREATE TABLE t2(a int not null primary key auto_increment, b
varchar(100)) replicated;
Query OK, 0 rows affected (Elapsed: 00:00:00.08)
gbase> SHOW CREATE TABLE t2 \G
*************************** 1. row ***************************
Table: t2
Create Table: CREATE TABLE "t2" (
"a" int(11) NOT NULL AUTO_INCREMENT,
"b" varchar(100) DEFAULT NULL,
PRIMARY KEY ("a")
)
ENGINE=EXPRESS
REPLICATED
DEFAULT
CHARSET=utf8
TABLESPACE='sys_tablespace'

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
1009
1 row in set (Elapsed: 00:00:00.00)
示例3:哈希分布表上创建自增列
gbase> CREATE TABLE t3(name varchar(10),id int not null primary key
auto_increment) distributed by ('name');
Query OK, 0 rows affected (Elapsed: 00:00:00.08)
gbase> SHOW CREATE TABLE t3 \G
*************************** 1. row ***************************
Table: t3
Create Table: CREATE TABLE "t3" (
"name" varchar(10) DEFAULT NULL,
"id" int(11) NOT NULL AUTO_INCREMENT,
PRIMARY KEY ("id")
) ENGINE=EXPRESS DISTRIBUTED BY('name') DEFAULT CHARSET=utf8
TABLESPACE='sys_tablespace'
1 row in set (Elapsed: 00:00:00.00)
示例4:分区表上创建自增列
gbase> CREATE TABLE t4(i int default 0,id int auto_increment primary
key )
partition by range(i) partitions 2
subpartition by hash(i) subpartitions 2
(
partition
p0 values less than (50001)
(subpartition sb0,
subpartition sb1
),
partition
p1 values less than (100001)

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
1010
(subpartition sb10,
subpartition sb11
)
) ;
Query OK, 0 rows affected (Elapsed: 00:00:00.11)
gbase> SHOW CREATE TABLE t4 \G
*************************** 1. row ***************************
Table: t4
Create Table: CREATE TABLE "t4" (
"i" int(11) DEFAULT '0',
"id" int(11) NOT NULL AUTO_INCREMENT,
PRIMARY KEY ("id")
)
ENGINE=EXPRESS
DEFAULT
CHARSET=utf8
TABLESPACE='sys_tablespace'
PARTITION BY RANGE (i)
SUBPARTITION BY HASH (i)
(PARTITION p0 VALUES LESS THAN (50001)
(SUBPARTITION sb0 ENGINE = EXPRESS,
SUBPARTITION sb1 ENGINE = EXPRESS),
PARTITION p1 VALUES LESS THAN (100001)
(SUBPARTITION sb10 ENGINE = EXPRESS,
SUBPARTITION sb11 ENGINE = EXPRESS))
1 row in set (Elapsed: 00:00:00.01)