检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
详细信息请参见表1。 默认值:notice log_min_messages 参数说明:控制写到服务器日志文件中的消息级别。每个级别都包含排在它后面的所有级别中的信息。级别越低,服务器运行日志中记录的消息就越少。 参数类型:SUSET 当client_min_messages和l
语句预估执行时间,单位为毫秒。 status text 语句执行结束状态:正常为finished,异常为aborted。该处记录的语句状态应为数据库服务端执行状态,当服务器端执行成功,结果集返回时报错,该语句应为finished。 abort_info text 语句执行结束状态为aborted时显示异常信息。
USER对象设计规范 规则2.5 禁止使用特殊权限用户运行业务,需遵循权限最小分配原则 违反规则的影响: 特殊权限用户如管理员用户,均具有特殊用途,使用此类用户运行业务有安全和管控风险。 方案建议: 使用普通用户运行业务,特殊权限类用户仅用于管理类操作。 规则2.6 禁止使用一个数据库用户运行所有业务
语句预估执行时间,单位ms。 status text 语句执行结束状态:正常为finished,异常为aborted。该处记录的语句状态应为数据库服务端执行状态,当服务器端执行成功,结果集返回时报错,该语句应为finished。 abort_info text 语句执行结束状态为aborted时显示异常信息。
logging_module 参数说明:用于设置或者显示模块日志在服务端的可输出性。该参数属于会话级参数,不建议通过gs_guc工具来设置。 参数类型:USERSET 取值范围:字符串 默认值:所有模块日志在服务端是不输出的,可由SHOW logging_module查看。 设置方法:首先,可以通过SHOW
创建和管理GaussDB(DWS)分区表 分区表就是把逻辑上的一张表根据分区策略分成几张物理块库进行存储,这张逻辑上的表称之为分区表,物理块称之为分区。分区表是一张逻辑表,不存储数据,数据实际是存储在分区上的。当进行条件查询时,系统只会扫描满足条件的分区,避免全表扫描,从而提升查询性能。
DATABASE对象设计规范 规则2.1 避免直接使用内置的DATABASE(如postgres、gaussdb等) 违反规则的影响: 内置的数据库编码、兼容模式不符合业务要求时,需要重新迁移数据。 所有业务均使用内置数据库,影响变更耗时。 方案建议: 根据实际业务需要,合理创建专用DATABASE并划分给业务使用。
TABLESPACE对象设计规范 规则2.8 禁止自定义TABLESPACE表空间 违反规则的影响: 分布式场景建表使用自定义表空间,导致表数据无法按照各DN分布式存储,出现存储倾斜。 方案建议: 创建表对象使用内置默认表空间。 父主题: GaussDB(DWS)对象设计规范
语句下推调优 语句下推介绍 目前,GaussDB(DWS)优化器在分布式框架下制定语句的执行策略时,有三种执行计划方式:生成下推语句计划、生成分布式执行计划、生成发送语句的分布式执行计划。 下推语句计划:指直接将查询语句从CN发送到DN进行执行,然后将执行结果返回给CN。 分布式
SQL语句改写规则 根据数据库的SQL执行机制以及大量的实践,总结发现:通过一定的规则调整SQL语句,在保证结果正确的基础上,能够提高SQL执行效率。如果遵守下列规则,能够大幅度提升业务查询效率。 使用union all代替union union在合并两个集合时会执行去重操作,而union
案例:增加JOIN列非空条件 若Join列上的NULL值较多,可以加上is not null过滤条件,以实现数据的提前过滤,提高Join效率。 优化前 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
DBMS_OUTPUT 接口介绍 高级功能包DBMS_OUTPUT支持的所有接口请参见表1。 表1 DBMS_OUTPUT 接口名称 描述 DBMS_OUTPUT.PUT_LINE 输出指定的文本,文本长度不能超过32767字节。 DBMS_OUTPUT.PUT 将指定的文本输出
DBMS_SQL 接口介绍 高级功能包DBMS_SQL支持的接口请参见表1 DBMS_SQL。 表1 DBMS_SQL 接口名称 描述 DBMS_SQL.OPEN_CURSOR 打开一个游标。 DBMS_SQL.CLOSE_CURSOR 关闭一个已打开的游标。 DBMS_SQL.PARSE
GaussDB(DWS)行级访问控制 行级访问控制特性将数据库访问控制精确到数据表行级别,使数据库达到行级访问控制的能力。不同用户执行相同的SQL查询操作,读取到的结果是不同的。 用户可以在数据表创建行访问控制(Row Level Security)策略,该策略是指针对特定数据库
行数的Hint 功能描述 指明中间结果集的大小,支持绝对值和相对值的hint。 语法格式 1 rows([@block_name] table_list #|+|-|* const) 参数说明 block_name表示语句块的block_name,详细说明请参考block_name。
运行倾斜的hint 功能描述 指明查询运行时重分布过程中存在倾斜的重分布键和倾斜值,针对Join和HashAgg运算中的重分布进行优化。 注意事项 skew hint仅在需要重分布且指定的倾斜信息与查询执行过程中的重分布信息相匹配时才会被使用。 skew hint受GUC参数sk
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
GaussDB(DWS)数据库用户管理 使用CREATE USER和ALTER USER可以创建和管理数据库用户。 非三权分立下,GaussDB(DWS)用户账户只能由系统管理员或拥有CREATEROLE属性的安全管理员创建和删除。 三权分立时,用户账户只能由安全管理员创建。 创建用户
GaussDB(DWS)行级访问控制 行级访问控制特性可以将数据库访问控制精确到数据表行级别,控制用户只能访问数据表的特定数据行,保证读写数据的安全。 行级访问控制设置 行级访问控制的目的是控制表中行级数据可见性,通过在数据表上预定义Filter,在查询优化阶段将满足条件的表达式
由于GaussDB(DWS)集群、Python、psycopg2的版本较多,下方表格仅列举出当前主流版本的支持情况。 表1 psycopg2版本 Python版本 GaussDB(DWS)集群版本 2.7.x 3.8.x 8.1.3及以上 3.9.x 8.1.3及以上 2.8.x 3