返回首页

gbase数据、南大通用产品文档:GBase8a快速UPDATE 模式

更新日期:2024年09月11日

说明
快速UPDATE 模式,
即先删除符合更新条件的数据,
然后再向表的末尾插入需要更
新的新数据。
相对于传统的行存储数据库来说,
列存储的数据中UPDATE 更新少量行时,
操作效
率相对来说是耗时的,因此,GBase UP 针对此特点,专门设计了快速UPDATE 模
式,用以提高数据更新操作。
快速UPDATE 模式目前只支持针对表对象的操作。
要使用快速UPDATE 模式,必须在客户端使用SET gbase_fast_update =1;的命令打
开快速UPDATE 模式。更新大批量数据的时候建议使用默认UPDATE 模式,更新
少量数据的时候建议使用快速UPDATE 模式。
SET gbase_fast_update =0;表示关闭快速UPDATE 模式。
SET gbase_fast_update =1;表示开启快速UPDATE 模式。
示例

示例1:开启快速UPDATE 模式。
gbase> CREATE TABLE t1 (f_1 int);
Query OK, 0 rows affected

gbase> INSERT INTO t1 values(1),(2),(3);
Query OK, 3 rows affected
Records: 3 Duplicates: 0 Warnings: 0

gbase> SELECT * FROM t1;
+------+
| f_1 |
+------+
| 1 |
| 2 |
| 3 |
+------+
3 rows in set

gbase> SET gbase_fast_update = 1;
Query OK, 0 rows affected

gbase> UPDATE t1 SET f_1 = 10 WHERE f_1= 1;

GBase UP 产品手册 5 数据库管理指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 701
Query OK, 1 row affected
Rows matched: 1 Changed: 1 Warnings: 0

gbase> SELECT * FROM t1;
+------+
| f_1 |
+------+
| 2 |
| 3 |
| 10 |
+------+
3 rows in set

Cannot execute change permission command (chmod/attrib)
驱动程序无法更改客户端 JAR 文件的权限。
如果您的客户端平台不支持 chmod 或 attrib 命
令,或者如果用户运行的 JDBC 应用程序不具有权限更改客户端 JAR 文件的访问权限,
则可能发生此错误。
请确保您的平台上的 chmod 或 attrib 命令是有效的,并且应用程序的用户具有更改客户端
JAR 文件的访问权限的权利。

以下示例显示了 items_pct 过程中的样本跟踪输出,这些输出出现在 SET DEBUG FILE TO
语句所指定的文件中。这些输出显示过程变量、过程参数、返回值和错误代码的值。
trace expression :begin trace
trace on
expression:
(select (sum total_price)
from items)
evaluates to $18280.77 ;
let tp = $18280.77
expression:
(select (sum total_price)
from items

GBase 8s SQL 指南:教程
南大通用数据技术股份有限公司 - 344 -

where (= manu_code, mac))
evaluates to $3008.00 ;
let mc_tot = $3008.00
expression:(/ mc_tot, tp)
evaluates to 0.16
let pct = 0.16
expression:(> pct, 0.1)
evaluates to 1
expression:(- 745)
evaluates to -745
raise exception :-745, 0, ''
exception : looking for handler
SQL error = -745 ISAM error = 0 error string = = ''
exception : no appropriate handler
有关如何使用 TRACE 语句诊断 SPL 例程中的逻辑错误的更多信息,请参阅创建和使用
SPL 例程。