检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
特别是对一些中间结果集转储的表,一定要分析清楚,使用合适的表存储类型。 优化前 某局点测试过程遇到如下的执行计划,客户希望将性能提升至3s内返回结果。 优化后 经过分析发现计划走了行引擎。
导入过程存储倾斜即时检测 导入过程中对DN导入行数进行统计,导入完成后计算倾斜率,超过一定阈值时,立即进行告警。倾斜率通过(DN导入行数最大值-DN导入行数最小值)/导入总行数计算。目前,只支持INSERT和COPY导入。
特别是对一些中间结果集转储的表,一定要分析清楚,使用合适的表存储类型。 优化前 某局点测试过程遇到如下的执行计划,客户希望将性能提升至3s内返回结果。 优化后 经过分析发现计划走了行引擎。
选择GaussDB(DWS)表存储模型 GaussDB(DWS)支持行列混合存储。当创建一个表时,可以选择表的存储格式为行存储或列存储。 行存储是指将表按行存储到硬盘分区上,列存储是指将表按列存储到硬盘分区上。默认情况下,创建的表为行存储。行存储和列存储的差异请参见图1。
DBMS_LOB.CREATETEMPORARY 这个存储过程创建一个临时的BLOB或者CLOB,这个存储过程仅用于语法上的兼容,并无实际意义。
DBMS_RANDOM.SEED 存储过程SEED用于设置一个随机数的种子。
对于并发同时有多个job到达执行时间的场景,由于会为每个job创建一个线程来执行job,由于系统内部启动每个线程的时间会有延迟,因此会导致同时并发执行的job的开始时间有延迟,每个job的延迟时间在0.1ms左右。 job中待执行SQL语句有长度限制,最长为8K。
DBMS_RANDOM.SEED 存储过程SEED用于设置一个随机数的种子。
对于并发同时有多个job到达执行时间的场景,由于会为每个job创建一个线程来执行job,由于系统内部启动每个线程的时间会有延迟,因此会导致同时并发执行的job的开始时间有延迟,每个job的延迟时间在0.1ms左右。 job中待执行SQL语句有长度限制,最长为8K。
游标的使用请参考GaussDB(DWS)存储过程游标。
游标的使用请参考GaussDB(DWS)存储过程游标。
在下列场景中,无法捕获处理异常,整个存储过程回滚:节点故障、网络故障引起的存储过程参与节点线程退出以及COPY FROM操作中源数据与目标表的表结构不一致造成的异常。 示例 :UPDATE/INSERT异常 这个例子根据使用异常处理器执行恰当的UPDATE或INSERT 。
CALL dynamic_proc(); --删除存储过程 DROP PROCEDURE dynamic_proc; 父主题: GaussDB(DWS)存储过程动态语句
在下列场景中,无法捕获处理异常,整个存储过程回滚:节点故障、网络故障引起的存储过程参与节点线程退出以及COPY FROM操作中源数据与目标表的表结构不一致造成的异常。 示例 :UPDATE/INSERT异常 这个例子根据使用异常处理器执行恰当的UPDATE或INSERT 。
如何查看GaussDB(DWS)某个用户有哪些表的权限? 场景一:查看用户有哪些表的权限,可使用information_schema.table_privileges系统表查看。
- 存储类型 存储类型有: SSD云盘 极速型SSD云盘:适用于需要超大带宽和超低时延的场景。 极速型SSD V2云盘:专用于对延迟敏感的业务关键型应用程序的极高性能SSD云硬盘。 SSD本地盘 说明: SSD本地盘不支持磁盘扩容。云硬盘详情请参见磁盘类型及性能介绍。
如果存储过程需要通过声明参数传递数据库对象来构造动态SQL语句(常见于执行DDL语句时),建议采用连接运算符“||”拼接dynamic_select_clause。另外,动态语句允许出现重复的占位符,相同占位符只能与唯一一个bind_argument按位置一一对应。
END; / 父主题: GaussDB(DWS)存储过程高级包
如果在存储过程结束时没有调用该函数,则该游标占用的内存仍然会保存,因此关闭游标非常重要。由于异常情况的发生会中途退出存储过程,导致游标未能关闭,因此建议存储过程中有异常处理,将该接口包含在内。
如果存储过程需要通过声明参数传递数据库对象来构造动态SQL语句(常见于执行DDL语句时),建议采用连接运算符“||”拼接dynamic_select_clause。另外,动态语句允许出现重复的占位符,相同占位符只能与唯一一个bind_argument按位置一一对应。