返回首页

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

更新日期:2024年09月11日

功能
一次加载任务使用的最大加载机个数(参与数据解析处理的最大节点数)。
表6- 30 参数值范围说明表
默认值
最小值
最大值
16
1
4294967295

功能说明
当更新列的值是一个合法的表达式时,也可以进行正确的更新赋值操作。
注意

UPDATE 操作不支持更新DISTRIBUTED BY 列的值、
自增列的值、
分区表中分区字段的值。
语法格式
UPDATE [vc_name.][database_name.]table_name
SET col_name1=expr1 [, col_name2=expr2 ...]
[WHERE where_definition]
表5- 94 参数说明
参数名称


vc_name
虚拟集群名,可选项。
database_name
数据库名,可选项。
table_name
表名,是要被插入数据的表。
col_name
指出更新哪个列。
expr
指定一个表达式expr 来提供列值。
示例
首先创建表t0 和t2,并插入数据。

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
1056
gbase> CREATE TABLE t0(id int) REPLICATED;
Query OK, 0 rows affected
gbase> CREATE TABLE t2(id int);
Query OK, 0 rows affected
gbase> INSERT INTO t0(id) VALUES(1),(2),(3),(4),(5),(6),(2),(3),(1);
Query OK, 9 rows affected
Records: 9
Duplicates: 0
Warnings: 0
gbase> INSERT INTO t2(id) VALUES(1),(2),(4);
Query OK, 3 rows affected
Records: 3
Duplicates: 0
Warnings: 0
示例1:更新t0 表的数据。
gbase> SELECT * FROM t0;
+------+
| id
|
+------+
|
1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
2 |
|
3 |
|
1 |
+------+
9 rows in set
gbase> UPDATE t0 SET t0.id = t0.id+1 WHERE t0.id > 1;
Query OK, 7 rows affected
Rows matched: 7
Changed: 7
Warnings: 0
gbase> SELECT * FROM t0;
+------+
| id
|
+------+
|
1 |
|
3 |
|
4 |
|
5 |
|
6 |

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
1057
|
7 |
|
3 |
|
4 |
|
1 |
+------+
9 rows in set
示例2:使用IN 的多表查询更新。
gbase> SELECT * FROM t0;
+------+
| id
|
+------+
|
2 |
|
3 |
|
5 |
|
5 |
|
6 |
|
7 |
|
3 |
|
5 |
|
2 |
+------+
9 rows in set
gbase> UPDATE t0 SET t0.id = 10 WHERE t0.id IN (SELECT t2.id FROM
t2);
Query OK, 2 rows affected
Rows matched: 2
Changed: 2
Warnings: 0
gbase> SELECT * FROM t0;
+------+
| id
|
+------+
|
10 |
|
3 |
|
5 |
|
5 |
|
6 |
|
7 |
|
3 |
|
5 |
|
10 |
+------+
9 rows in set

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
1058
示例3:子查询中包含更新列,更新成功。
gbase> CREATE TABLE t0(id int) REPLICATED;
Query OK, 0 rows affected
gbase> INSERT INTO t0(id) VALUES(1),(2),(3),(4),(5),(6),(2),(3),(1);
Query OK, 9 rows affected
Records: 9
Duplicates: 0
Warnings: 0
gbase> SELECT * FROM t0;
+------+
| id
|
+------+
|
1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
2 |
|
3 |
|
1 |
+------+
9 rows in set
gbase> UPDATE t0 SET t0.id = (SELECT id FROM t0 WHERE id = 6);
Query OK, 9 rows affected
Rows matched: 9
Changed: 9
Warnings: 0
示例4:不允许更新DISTRIBUTED BY 列的值。
gbase> CREATE TABLE student (stu_no int, stu_name varchar(200),stu_sex
int) DISTRIBUTED BY('stu_no');
Query OK, 0 rows affected
gbase>
INSERT
INTO
student
(stu_no,stu_name,stu_sex)
VALUES
(1,'Tom',0), (2,'Jim',0),(3,'Rose',1);
Query OK, 3 rows affected
Records: 3
Duplicates: 0
Warnings: 0
gbase> SELECT * FROM student;
+--------+----------+---------+
| stu_no | stu_name | stu_sex |
+--------+----------+---------+
|
1 | Tom
|
0 |
|
2 | Jim
|
0 |
|
3 | Rose
|
1 |

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
1059
+--------+----------+---------+
3 rows in set
gbase> UPDATE student SET stu_no = 4 WHERE stu_no = 2;
ERROR 1722 (HY000): (GBA-02DD-0006) Can't update distributed column
'stu_no'
示例5:UPDATE 时,更新数据行中的TIMESTAMP 列的数值自动更新。
DROP TABLE IF EXISTS t2;
CREATE TABLE t2(a timestamp,b decimal(30,4),c int) DISTRIBUTED BY
('c');
INSERT INTO t2(b,c) VALUES(534.536,1);
INSERT INTO t2(b,c) VALUES(3534.56,11);
INSERT INTO t2(b,c) VALUES(33534.576,111);
INSERT INTO t2(b,c) VALUES(1334.56,1111);
INSERT INTO t2(b,c) VALUES(334.565,11111);
INSERT INTO t2(b,c) VALUES(34.5,111111);
INSERT INTO t2(b,c) VALUES(35.56,10009);
INSERT INTO t2(b,c) VALUES(3222.56,1897);
INSERT INTO t2(b,c) VALUES(3255.56,123);
INSERT INTO t2(b,c) VALUES(325.56,2);
gbase> SELECT * FROM t2 ORDER BY a;
+---------------------+------------+--------+
| a
| b
| c
|
+---------------------+------------+--------+
| 2013-12-17 14:11:16 |

不使用时间序列查询性能
630000 条/秒
使用时间序列查询性能
500000000 条/秒

4 GBase 8s 产品功能