返回首页

gbase数据、南大通用产品文档:GBase8aTIME_TO_SEC(time)

更新日期:2024年09月11日

函数说明
返回参数time 对应的秒数。
示例
示例1
返回“22:23:00”对应的秒数。
gbase> SELECT TIME_TO_SEC('22:23:00') FROM t;
+-------------------------+
| TIME_TO_SEC('22:23:00') |
+-------------------------+
| 80580 |
+-------------------------+

GBase UP 产品手册 5 数据库管理指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 895
1 row in set
示例2
返回“00:39:38”对应的秒数。
gbase> SELECT TIME_TO_SEC('00:39:38') FROM t;
+-------------------------+
| TIME_TO_SEC('00:39:38') |
+-------------------------+
| 2378 |
+-------------------------+
1 row in set

算子buffer(session): 从gbase_heap_large 堆上分配。
算子buffer 均为session 级别,即如果设置gbase_buffer_result=1G,且任
务数为30,则在执行过程中,30 任务总共占用的gbase_buffer_result 就为1G x
30 = 30G,对于一般机器来说已经算很大了,这还不算其他的算子buffer。所以
如果在高并发环境中将某一个算子buffer 设置很大的话,很有可能就会出现内存
不足无法分配的情况。
gbase_buffer_distgrby
用于保存distinct 操作的中间结果;
gbase_buffer_hgrby
用于保存hash group by 操作的中间结果;
gbase_buffer_hj
用于保存hash join 操作的中间结果;
gbase_buffer_insert
用于保存insert values 的中间结果;
gbase_buffer_result
用于保存物化的中间结果;

GBase 8a MPP Cluster 最佳实践
4 参数调优
文档版本(2022-02-11)
南大通用数据技术股份有限公司
43
gbase_buffer_rowset
用于保存join 的行号;
gbase_buffer_sj
用于保存sort merge join 的中间结果,当join 条件是a>=b 或者a<=b 时,可
能会使用sort merge join;
gbase_buffer_sort
用于保存sort 操作的中间结果;
综述说明
算子buffer 的设置原则:
一般情况下(非高并发场景),根据系统内存大小,算子buffer 可以按照如下方
法设置:
gbase_buffer_hgrby 和gbase_buffer_hj 最大不超过4G;
gbase_buffer_result 最大不超过2G;
gbase_buffer_rowset 最大不超过1G;
其他算子使用系统估算即可。
如果在高并发场景下,
则不需要设置过大的算子buffer,
一般以系统自动评估为准。
但如果并发数过大,不排除需要人为将算子buffer 设置更小的情况。具体标准参
考上面提到的“算子buffer 的特点”,即并发数x 总算子buffer 大小不超过
gbase_heap_large 为宜,但最大也不能超过系统总内存大小。
修改算子buffer 的其它场景:
在进行poc 时,如果某条sql 由于某个算子执行过慢(瓶颈点可参考单机trace),
可以适当调大与之对应算子buffer。如根据trace 发现join 较慢,可以适当调大
gbase_buffer_hj 的值。
但是需要注意,
调整该值时必须不能影响其他sql 的执行,
且必须是现场允许修改系统参数时才可以。如整个测试只允许在开始时设置参数,
开始测试后就不允许再修改,如果开始时就把算子buffer 设置的很大,而后面又
有高并发测试,就很容易会出问题。

GBase 8a MPP Cluster 最佳实践
4 参数调优
文档版本(2022-02-11)
南大通用数据技术股份有限公司
44

SPL 例程为提高您的数据库处理效率提供许多机会,
包括提升数据库性能,
简化应用程序,
以及限制或监视对数据的访问。
您还可使用 SPL 例程来处理扩展的数据类型,
诸如集合类
型、row 类型、opaque 类型和 distinct 类型。要了解 SPL 语句的语法图,请参阅《GBase
8s SQL 指南:语法》。



GBase 8s SQL 指南:教程
南大通用数据技术股份有限公司
- 337 -
13 创建和使用触发器
本章描述 CREATE TRIGGER 语句的每个组成部分的用途,说明触发器的一些用法,并描
述将 SPL 例程用作触发器的优点。
此外,本章还描述可在视图上定义的 INSTEAD OF 触发器。
SQL 触发器是驻留在数据库中的一种机制。
具有使用许可权的任何用户都可以使用它。
SQL
触发器指定当数据操纵语言
(DML)
操作
(INSERT 、
SELECT 、
DELETE 或 UPDATE 语
句)时,数据库服务器应自动执行一个或多个附加操作。对于在视图上定义的触发器,视
图基本表上的触发操替换触发事件。
对于表或视图上的触发器,
触发操作可以是 INSERT 、
DELETE 、UPDATE 、EXECUTE PROCEDURE 或 EXECUTE FUNCTION 语句。
GBase 8s 还支持用 C 或 Java™ 编写的用户定义的例程作为触发操作。
有关如何撰写 C UDR 以获取有关触发器事件的元数据信息,请参阅《GBase 8s DataBlade
API 程序员指南》。