检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
选择存储模型 进行数据库设计时,表设计上的一些关键项将严重影响后续整库的查询性能。表设计对数据存储也有影响:好的表设计能够减少I/O操作及最小化内存使用,进而提升查询性能。 表的存储模型选择是表定义的第一步。客户业务属性是表的存储模型的决定性因素,依据下面表格选择适合当前业务的存储模型。
存储过程 商业规则和业务逻辑可以通过程序存储在GaussDB中,这个程序就是存储过程。 存储过程是SQL、PL/SQL、Java语句的组合。存储过程使执行商业规则的代码可以从应用程序中移动到数据库。从而,代码存储一次能够被多个程序使用。 存储过程的创建及调用办法请参考CREATE
存储过程 存储过程 数据类型 数据类型转换 数组、集合和record 声明语法 基本语句 动态语句 控制语句 事务语句 其他语句 游标 高级包 Retry管理 PACKAGE 调试
存储规格 数据表最大列数不能超过1600列。 init_td(TD(Transaction Directory,事务目录)是Ustore表独有的用于存储页面事务信息的结构,TD的数量决定该页面支持的最大并发数。在创建表或索引时可以指定初始的TD大小init_td)取值范围[2,
动态调用存储过程 动态调用存储过程必须使用匿名的语句块将存储过程或语句块包在里面,使用EXECUTE IMMEDIATE…USING语句后面带IN、OUT来输入、输出参数。 语法 语法请参见图1。 图1 call_procedure::= using_clause子句的语法参见图2。
使用Ustore进行测试 创建Ustore表 使用CREATE TABLE语句创建Ustore表。 gaussdb=# CREATE TABLE ustore_table(a INT PRIMARY KEY, b CHAR (20)) WITH (STORAGE_TYPE=USTORE);
storage test error 业务执行过程中,数据页、索引或者Undo页面发生变更后,该页面放锁之前会主动进行逻辑损坏检测,发现页面损坏问题后会输出包含“storage test error”关键字的日志信息到数据库运行日志(pg_log文件),执行事务回滚,页面会恢复到修改前的状态。
显式事务。显式事务由显式的START TRANSACTION/BEGIN语句控制事务的开始,由COMMIT/END语句控制事务的提交。 子事务必须存在于显式事务或存储过程中,由SAVEPOINT语句控制子事务开始,由RELEASE SAVEPOINT语句控制子事务结束。如果一个事务在提交时还存在未释放的
调用其他存储过程等。介绍PL/SQL中的基本语句,包括定义变量、赋值语句、调用语句以及返回语句。 尽量不要在存储过程中调用包含密码的SQL语句,因为存储在数据库中的存储过程文本可能被其他有权限的用户看到导致密码信息被泄漏。如果存储过程中包含其他敏感信息也需要配置存储过程的访问权限,保证敏感信息不会泄漏。
调用其他存储过程等。介绍PL/SQL中的基本语句,包括定义变量、赋值语句、调用语句以及返回语句。 尽量不要在存储过程中调用包含密码的SQL语句,因为存储在数据库中的存储过程文本可能被其他有权限的用户看到导致密码信息被泄漏。如果存储过程中包含其他敏感信息也需要配置存储过程的访问权限,保证敏感信息不会泄漏。
控制语句 返回语句 条件语句 循环语句 分支语句 空语句 错误捕获语句 GOTO语句 父主题: 存储过程
空间管理 Undo子系统依赖后台回收线程进行空闲空间回收。负责主机上Undo模块的空间回收,备机通过回放xLog进行回收。回收线程遍历使用中的undo zone,对该zone中的txn page扫描,依据xid从小到大的顺序进行遍历。回收已提交或者已回滚完成的事务,且该事务的提交
Enhanced Toast 概述 Enhanced Toast存储结构 Enhanced Toast使用 Enhanced Toast增删改查 Enhanced Toast相关DDL操作 Enhanced Toast运维管理 父主题: 存储格式
回滚段管理 每个undo zone除了管理部分txn page外,还管理undo page。 Undo页面中存储undo row,对数据的修改会将历史版本记录到Undo中。 Undo记录也是数据,因此对Undo页面的修改同样会记录Redo。 父主题: Undo
PCR UBTree 相比于RCR版本的UBTree,PCR版本的UBTree有以下特点。 索引元组的事务信息统一由TD槽进行管理。 增加了Undo操作,插入和删除前需要先写入Undo,事务abort时需要进行回滚操作。 支持闪回。 PCR UBTree通过在创建索引时with选
toast_table用于控制线外存储结构。“enable_enhance_toast_table=on”表示使用Enhanced Toast线外存储表,“enable_enhance_toast_table=off”表示使用Toast线外存储表。 gs_guc reload -Z
在线校验功能 在线校验是Ustore独创的运行过程中可以有效预防页面因编码逻辑错误导致的逻辑损坏,默认开启,业务现网请保持开启。性能场景除外。 关闭: gs_guc reload -Z datanode -N all -I all -c "ustore_attr='';" 打开:
Ustore(Unified Storage)是GaussDB推出的一款原位更新的存储引擎,其多版本的实现较Astore最大的区别在于最新版本和历史版本的数据是分离存储的,而索引当前还没有分离。 使用Ustore的优势 最新版本和历史版本分离存储,相比Astore扫描范围小。去除Astore的HOT c
DN主备倒换概述 DN主备倒换 GaussDB分布式实例支持对分片内的DN做主备切换,可以选择同一分片内的一个备DN进行升主操作。 以分布式独立部署形态为例,假设配置为3分片、3副本、3可用区。若对分片1中的节点进行主备倒换,并选择将可用区3的备节点升主,则执行主备倒换后,可用区
section_ID = V_DEPTNO; END IF; END; / CALL proc_cursor3(); --删除存储过程和临时表 DROP PROCEDURE proc_cursor3; DROP TABLE hr.staffs_t1; DROP TABLE