检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
数据如何存储到GaussDB(DWS)? GaussDB(DWS)支持多数据源高效入库,典型的入库方式如下所示。详细指导请参见导入数据。 从OBS导入数据。 数据上传到OBS对象存储服务中,再从OBS中导入,支持CSV,TEXT格式数据。 通过INSERT语句直接插入数据。 用户
游标概述 为了处理SQL语句,存储过程进程分配一段内存区域来保存上下文联系。游标是指向上下文区域的句柄或指针。借助游标,存储过程可以控制上下文区域的变化。 当游标作为存储过程的返回值时,如果使用JDBC调用该存储过程,返回的游标将不可用。 游标的使用分为显式游标和隐式游标。对于不同的SQ
中有效,类型和select_statement的查询结果类型一致。loop_name的取值就是select_statement的查询结果。 游标的属性中%FOUND、%NOTFOUND、%ROWCOUNT在GaussDB(DWS)数据库中都是访问同一个内部变量,事务和匿名块不支持多个游标同时访问。
游标概述 为了处理SQL语句,存储过程进程分配一段内存区域来保存上下文联系。游标是指向上下文区域的句柄或指针。借助游标,存储过程可以控制上下文区域的变化。 当游标作为存储过程的返回值时,如果使用JDBC调用该存储过程,返回的游标将不可用。 游标的使用分为显式游标和隐式游标。对于不同的SQ
中有效,类型和select_statement的查询结果类型一致。loop_name的取值就是select_statement的查询结果。 游标的属性中%FOUND、%NOTFOUND、%ROWCOUNT在GaussDB(DWS)数据库中都是访问同一个内部变量,事务和匿名块不支持多个游标同时访问。
PEN FOR动态绑定SELECT语句。 定义动态游标的语法图,请参见图2和图3。 图2 cursor_typename::= GaussDB(DWS)支持sys_refcursor动态游标类型,函数或存储过程可以通过sys_refcursor参数传入或传出游标结果集合,函数也可
GaussDB(DWS)存储过程数据类型转换 数据库中允许有些数据类型进行隐式类型转换(赋值、函数调用的参数等),有些数据类型间不允许进行隐式数据类型转换,可尝试使用GaussDB(DWS)提供的类型转换函数,例如CAST进行数据类型强转。 GaussDB(DWS)数据库常见的隐式类型转换,请参见表1。
GaussDB(DWS)存储过程数据类型转换 数据库中允许有些数据类型进行隐式类型转换(赋值、函数调用的参数等),有些数据类型间不允许进行隐式数据类型转换,可尝试使用GaussDB(DWS)提供的类型转换函数,例如CAST进行数据类型强转。 GaussDB(DWS)数据库常见的隐式类型转换,请参见表1。
导入过程存储倾斜即时检测 导入过程中对DN导入行数进行统计,导入完成后计算倾斜率,超过一定阈值时,立即进行告警。倾斜率通过(DN导入行数最大值-DN导入行数最小值)/导入总行数计算。目前,只支持INSERT和COPY导入。 必须设置enable_stream_operator=o
选择GaussDB(DWS)表存储模型 GaussDB(DWS)支持行列混合存储。当创建一个表时,可以选择表的存储格式为行存储或列存储。 行存储是指将表按行存储到硬盘分区上,列存储是指将表按列存储到硬盘分区上。默认情况下,创建的表为行存储。行存储和列存储的差异请参见图1。 图1 行存储和列存储的差异
间结果集转储的表,一定要分析清楚,使用合适的表存储类型。 优化前 某局点测试过程遇到如下的执行计划,客户希望将性能提升至3s内返回结果。 优化后 经过分析发现计划走了行引擎。根本原因是:临时计划表input_acct_id_tbl和中间结果转储表row_unlogged_table使用了行存表。
选择GaussDB(DWS)表存储模型 GaussDB(DWS)支持行列混合存储。当创建一个表时,可以选择表的存储格式为行存储或列存储。 行存储是指将表按行存储到硬盘分区上,列存储是指将表按列存储到硬盘分区上。默认情况下,创建的表为行存储。行存储和列存储的差异请参见图1。 图1 行存储和列存储的差异
间结果集转储的表,一定要分析清楚,使用合适的表存储类型。 优化前 某局点测试过程遇到如下的执行计划,客户希望将性能提升至3s内返回结果。 优化后 经过分析发现计划走了行引擎。根本原因是:临时计划表input_acct_id_tbl和中间结果转储表row_unlogged_table使用了行存表。
CALL proc_control_structure(3); --删除存储过程 DROP PROCEDURE proc_control_structure; 父主题: GaussDB(DWS)存储过程控制语句
proc_cursor3(); --删除存储过程和临时表 DROP PROCEDURE proc_cursor3; DROP TABLE staffs_t1; DROP TABLE sections_t1; 父主题: GaussDB(DWS)存储过程游标
PEN FOR动态绑定SELECT语句。 定义动态游标的语法图,请参见图2和图3。 图2 cursor_typename::= GaussDB(DWS)支持sys_refcursor动态游标类型,函数或存储过程可以通过sys_refcursor参数传入或传出游标结果集合,函数也可
proc_cursor3(); --删除存储过程和临时表 DROP PROCEDURE proc_cursor3; DROP TABLE staffs_t1; DROP TABLE sections_t1; 父主题: GaussDB(DWS)存储过程游标
NEXT)及RETURN QUERY。其中,RETURN NEXT和RETURN QUERY只适用于函数,不适用存储过程。 RETURN 语法 返回语句的语法请参见图1。 图1 return_clause::= 对以上语法的解释如下: 用于将控制从存储过程或函数返回给调用者。 示例 1 2 3
CALL proc_control_structure(3); --删除存储过程 DROP PROCEDURE proc_control_structure; 父主题: GaussDB(DWS)存储过程控制语句
--调用函数 CALL proc_forall(); --查询存储过程调用结果 SELECT * FROM hdfs_t1 WHERE title BETWEEN 100 AND 120; --删除存储过程和表 DROP PROCEDURE proc_forall; DROP