检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
Plan Hint实际调优案例 本节以TPC-DS标准测试的Q24的部分语句为例,在1000X,24DN环境上,说明使用plan hint进行实际调优的过程。示例如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
密态支持函数/存储过程 密态支持函数/存储过程,当前版本只支持sql和plpgsql两种语言。 由于密态支持存储过程中创建和执行函数/存储过程对用户是无感知的,因此语法和非密态无区别。 函数/存储过程语法参考《开发指南》中“用户自定义函数”章节和“存储过程”章节。 密态等值查询支
ALTER DATABASE 功能描述 修改数据库的属性,包括它的名称、所有者、连接数限制、对象隔离属性等。 注意事项 只有数据库的所有者或者被授予了数据库ALTER权限的用户才能执行ALTER DATABASE命令,系统管理员默认拥有此权限。针对所要修改属性的不同,还有以下权限约束:
创建和管理数据库 图1 创建和管理数据库 前提条件 用户必须拥有数据库创建的权限或者是数据库的系统管理员权限才能创建数据库,授予创建数据库的权限请参见用户及权限。 背景信息 初始时,GaussDB包含三个模板数据库template0、template1、templatea,tem
REINDEX 功能描述 为表中的数据重建索引。 在以下几种情况下需要使用REINDEX重建索引: 索引崩溃,并且不再包含有效的数据。 索引变得“臃肿”,包含大量的空页或接近空页。 为索引更改了存储参数(例如填充因子),并且希望这个更改完全生效。 使用CONCURRENTLY选项创建索引失败,留下了一个“非法”索引。
创建和管理序列 背景信息 序列Sequence是用来产生唯一整数的数据库对象。序列的值是按照一定规则自增的整数。因为自增所以不重复,因此Sequence具有唯一标识性。这也是Sequence常被用作主键的原因。 通过序列使某字段成为唯一标识符的方法有两种: 一种是声明字段的类型为
其他系统函数 GaussDB的内建函数和操作符兼容PostgreSQL。 _pg_char_max_length _pg_char_octet_length _pg_datetime_precision _pg_expandarray _pg_index_position _pg_interval_type
Plan Hint调优概述 Plan Hint为用户提供了直接影响执行计划生成的手段,用户可以通过指定join顺序,join、scan方法,指定结果行数,等多个手段来进行执行计划的调优,以提升查询的性能。 GaussDB还提供了SQL PATCH功能,在不修改业务语句的前提下通过创建SQL
统计信息函数 统计信息函数根据访问对象分为两种类型:针对某个数据库进行访问的函数,以数据库中每个表或索引的OID作为参数,标识需要报告的数据库;针对某个服务器进行访问的函数,以一个服务器进程号为参数,其范围从1到当前活跃服务器的数目。 pg_stat_get_db_conflict_tablespace(oid)
段页式存储函数 在AStore存储引擎下创建段页式表,需要在创建数据表时指定参数segment=on。例如: CREATE TABLE t1(id int) WITH (segment=on, storage_type=astore); 段页式存储函数相关字段取值说明: forknum:数据文件分支。
其他优化器选项 cost_model_version 参数说明:此参数用来指定优化器代价模型的版本。可以视作一个保护参数,用来禁用最新的优化器代价模型,保持和旧版本计划一致。改变此参数,可能会导致很多SQL计划的改变。因此修改前请谨慎评估。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。
Plan Hint实际调优案例 TPC-DS的建表语句和完整测试集可从TPC官网下载,其中建表语句位于tools目录下。 本节以TPC-DS(Decision Support)标准测试的Q24的部分语句为例,在1000X数据集,24DN环境上,说明使用plan hint进行实际调优的过程。示例如下:
创建和管理序列 背景信息 序列Sequence是用来产生唯一整数的数据库对象。序列的值是按照一定规则自增的整数。因为自增所以不重复,因此Sequence具有唯一标识性。这也是Sequence常被用作主键的原因。 通过序列使某字段成为唯一标识符的方法有两种: 一种是声明字段的类型为
CREATE SEQUENCE 功能描述 CREATE SEQUENCE用于向当前数据库里增加一个新的序列。序列的Owner为创建此序列的用户。 注意事项 Sequence是一个存放等差数列的特殊表,该表受DBMS控制。这个表没有实际意义,通常用于为行或者表生成唯一的标识符。 如
常见问题处理 连接性能问题 开启了log_hostname,但是配置了错误的DNS导致的连接性能问题。 在连接上数据库,通过“show log_hostname”语句,检查数据库中是否开启了log_hostname参数。 如果开启了相关参数,那么数据库内核会通过DNS反查客户端所
常见问题处理 连接性能问题 开启了log_hostname,但是配置了错误的DNS导致的连接性能问题。 在连接上数据库,通过“show log_hostname”语句,检查数据库中是否开启了log_hostname参数。 如果开启了相关参数,那么数据库内核会通过DNS反查客户端所
CREATE PROCEDURE 功能描述 创建一个新的存储过程。 注意事项 如果创建存储过程时参数或返回值带有精度,不进行精度检测。 创建存储过程时,存储过程定义中对表对象的操作建议都显示指定模式,否则可能会导致存储过程执行异常。 创建存储过程时,仅对CREATE的存储过程或P
MERGE INTO 功能描述 通过MERGE INTO语句,将目标表和源表中的数据针对关联条件进行匹配,若关联条件匹配时对目标表进行UPDATE,无法匹配时对目标表执行INSERT。此语法可以很方便地用来合并执行UPDATE和INSERT,避免多次执行。 注意事项 进行MERGE
设置GaussDB实例安全组规则 操作场景 安全组是一个逻辑上的分组,为同一个虚拟私有云内具有相同安全保护需求,并相互信任的弹性云服务器和GaussDB实例提供访问策略。 如果账号已经申请创建时支持不指定安全组的白名单,则不需要执行本章节,而且在实例详情页也不会有内网安全组信息。
通信库参数 本节介绍通信库相关的参数设置及取值范围等内容。 tcp_keepalives_idle 参数说明:在支持TCP_KEEPIDLE套接字选项的系统上,设置发送活跃信号的间隔秒数。不设置发送保持活跃信号,连接就会处于闲置状态。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。