检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
Plan Hint调优概述 Plan Hint为用户提供了直接影响执行计划生成的手段,用户可以通过指定join顺序,join、stream、scan方法,指定结果行数,指定重分布过程中的倾斜信息,指定配置参数的值等多个手段来进行执行计划的调优,以提升查询的性能。 功能描述 Plan
Scan方式的Hint 功能描述 指明scan使用的方法,可以是tablescan、indexscan和indexonlyscan。 语法格式 1 [no] tablescan|indexscan|indexonlyscan([@block_name] table [index])
配置参数的hint 功能描述 指明计划生成时配置参数的值,又称作guc hint。 注意事项 如果hint设置的配置参数在语句级别生效,则该hint必须写在顶层查询中,而不能写在子查询中。对于UNION、INTERSECT、EXCEPT和MINUS语句,可以将在语句级别的guc hint
GaussDB(DWS)数据库权限管理 权限概述 权限表示用户访问某个数据库对象(包括模式、表、函数、序列等)的操作(包括增、删、改、查、创建等)是否被允许。 GaussDB(DWS)中的权限管理分为三种场景: 系统权限 系统权限又称为用户属性,包括SYSADMIN、CREATEDB
Join顺序的Hint 功能描述 指明join的顺序,包括内外表顺序。 语法格式 仅指定join顺序,不指定内外表顺序。 1 leading(join_table_list) 同时指定join顺序和内外表顺序,内外表顺序仅在最外层生效。 1 leading((join_table_list
Stream方式的Hint 功能描述 指明stream使用的方法,可以为broadcast和redistribute以及指定AGG重分布的分布键。 指定Agg重分布列Hint,仅8.1.3.100及以上集群版本支持。 语法格式 1 [no] broadcast | redistribute
配置参数的hint 功能描述 指明计划生成时配置参数的值,又称作guc hint。 语法格式 set [global](guc_name guc_value) 参数说明 global表示hint设置的配置参数在语句级别生效,不加global表示hint设置的配置参数在子查询级别生效
字典编码的hint 功能描述 通过设置指定列来构建字典编码,将字典编码的字符串的比较转化为数字的比较,加快group by、filter等查询速度。该hint仅8.3.0及以上集群版本支持。 注意事项 目前只支持新版的hstore表(表级参数为enable_hstore_opt为on
GaussDB(DWS)数据库用户管理 使用CREATE USER和ALTER USER可以创建和管理数据库用户。 非三权分立下,GaussDB(DWS)用户账户只能由系统管理员或拥有CREATEROLE属性的安全管理员创建和删除。 三权分立时,用户账户只能由安全管理员创建。 创建用户
GaussDB(DWS)行级访问控制 行级访问控制特性可以将数据库访问控制精确到数据表行级别,控制用户只能访问数据表的特定数据行,保证读写数据的安全。 行级访问控制设置 行级访问控制的目的是控制表中行级数据可见性,通过在数据表上预定义Filter,在查询优化阶段将满足条件的表达式应用到执行计划上
GaussDB(DWS)字符串加解密 GaussDB(DWS)支持使用以下函数对字符串进行加解密。 gs_encrypt(encryptstr, keystr, cryptotype, cryptomode, hashmethod) 描述:采用cryptotype和cryptomode
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参数skew_option
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
使用Python第三方库psycopg2连接集群 用户在创建好数据仓库集群后使用psycopg2第三方库连接到集群,则可以使用Python访问GaussDB(DWS) ,并进行数据表的各类操作。 连接集群前的准备 GaussDB(DWS)集群已绑定弹性IP。 已获取GaussDB(
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
步骤5:测试新的表结构下的系统性能 重新创建了具有存储方式、压缩级别、分布方式和分布列的测试数据集后,重新测试系统性能。 记录各表的存储使用情况。 使用pg_size_pretty函数查询每张表使用的磁盘空间,并将结果记录到基准表中。 1 SELECT T_NAME, PG_SIZE_PRETTY
GaussDB(DWS)数据库用户管理 使用CREATE USER和ALTER USER可以创建和管理数据库用户。 非三权分立下,GaussDB(DWS)用户账户只能由系统管理员或拥有CREATEROLE属性的安全管理员创建和删除。 三权分立时,用户账户只能由安全管理员创建。 创建用户
Hint的错误、冲突及告警 Plan Hint的结果会体现在计划的变化上,可以通过explain来查看变化。 Hint中的错误不会影响语句的执行,只是不能生效,该错误会根据语句类型以不同方式提示用户。对于explain语句,hint的错误会以warning形式显示在界面上,对于非explain