检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
Sslmode=allow 其中,参数“Servername”和“Port”的值,可以在GaussDB(DWS)的管理控制台查看。请登录GaussDB(DWS)管理控制台,单击“连接客户端”, 在“数据仓库连接字符串”区域,选择指定的集群,获取该集群的“内网访问地址”或“公网访问地址”。具体步骤请参
作。 资源管理 当您有多个数据库用户同时查询作业时,一些复杂查询可能会长时间占用集群资源,从而影响其他查询的性能。例如一组数据库用户不断提交复杂、耗时的查询,而另一组用户经常提交短查询。在这种情况下,短时查询可能不得不在队列中等待耗时查询完成。为了提高效率,GaussDB(DWS
案例:选择合适的分布列 分布列用于将数据分布到不同的节点上,划分均衡可以避免数据倾斜。 在进行关联查询时,尽量选择查询中的关联条件作为分布键。当关联条件作为分布键时,相关数据都分布在DN本地,将减少DN之间的数据流动代价,提升查询速度。 优化前 将a作为t1和t2的分布列,表定义如下:
别名。skew hint的column不支持表达式,如果需要指定采用分布键为表达式的重分布存在倾斜,需要将重分布键指定为新的列,以新的列进行hint。 对于倾斜值,个数需为列数的整数倍并按列的顺序进行组合,组合的个数不能超过10个。如果各倾斜列的倾斜值的个数不一样,为了满足按列组
client_hostname text 客户端名。 client_port integer 客户端端口号。 backend_start timestamp with time zone 程序启动时间。 state text 日志复制的状态(追赶状态,还是一致的流状态)。 sender_sent_location
zyagg、子查询/子链接提升等重写优化,都会构造新的子查询,此时会对新构造的子查询也应用上面分配block_name的递归处理,block_name的编号计数在之前的基础上进行累加。 优化器重写阶段,发生子查询提升时,内层子查询中的表被提升到外层查询中,内层子查询被消除。此时,
子链接块名的hint 功能描述 指明子链接块的名称。 语法格式 1 blockname (table) 参数说明 table表示为该子链接块hint的别名的名称。 blockname hint仅在对应的子链接块提升时才会被上层查询使用。目前支持的子链接提升包括IN子链接提升、E
案例:建立合适的索引 创建合适的索引可以加速对表中数据行的检索。索引占用磁盘空间,并且降低添加、删除和更新行的速度。如果需要非常频繁地更新数据或磁盘空间有限,则需要限制索引的数量。在表较大时再建立索引,表中的数据越多,索引的优越性越明显。建议仅在匹配如下某条原则时创建索引: 需要经常执行查询的字段。
案例:选择合适的分布列 分布列用于将数据分布到不同的节点上,划分均衡可以避免数据倾斜。 在进行关联查询时,尽量选择查询中的关联条件作为分布键。当关联条件作为分布键时,相关数据都分布在DN本地,将减少DN之间的数据流动代价,提升查询速度。 优化前 将a作为t1和t2的分布列,表定义如下:
on a_0317(a) local (partition p1_index, partition p2_inde); 查看分区表分区索引信息如下: 查看主表索引信息。 1 2 3 4 5 6 7 8 9 10 11 SELECT oid,* FROM pg_class
解决办法:请检查GDS是否已被卸载或用户的环境变量是否被破坏。 GAUSS-53506: "Failed to check whether a process on this port exists with exception: %s." SQLSTATE: 无 错误原因:在指定端口号上未找到GDS进程。
"Failed to restart regular tasks." SQLSTATE: 无 错误原因:重启定时任务服务失败。 解决办法:查看日志,查找出错误详细信息。 GAUSS-50803: "Failed to check user cron." SQLSTATE: 无 错误原因:检查定时任务失败。
columns指定group by子句中的一个或者多个列,没有group by子句也可以指定distinct子句中的列。 指定的分布列,需要用group by或distinct中的列序号或列名来表示,count(distinct)中的列只能通过列名指定。 对于多层的查询,可以在每层指定对应层的分布列hint,只在当前层生效。
by子句也可以指定distinct子句中的列。 指定的分布列,需要用group by或distinct中的列序号来表示,不可以指定列名。 对于多层的查询,可以在每层指定对应层的分布列hint,只在当前层生效。 指定了分布列,如果优化器估算后发现不需要重分布,则指定的分布列无效。 建议 通常优化
复制以下语句在窗口1中执行,创建4个角色。分别对应s1的查询权限、s1的更新权限、s2的查询权限、s2的更新权限。 1 2 3 4 CREATE ROLE rs1_select PASSWORD disable; --s1的查询权限 CREATE ROLE rs1_update PASSWORD
Service,CTS)记录GaussDB(DWS)管理控制台的关键操作事件,比如创建集群、创建快照、扩容集群、重启集群等。记录的日志可用于支撑安全分析、合规审计、资源跟踪和问题定位等常见应用场景。 关于开启和查看管理控制台相关事件的审计日志信息,请参考查看GaussDB(DWS)管理控制台操作日志。
sql:使用gsql客户端导入TPC-DS样例数据的脚本文件。 query_sql目录:查询TPC-DS样例数据的脚本文件。 gsql_env.sh 在运行gsql前,配置环境变量的脚本文件。 表3列出了下载的Windows gsql工具包中的文件和文件夹。 表3 Windows gsql工具包目录及文件说明
字典编码的hint 功能描述 通过设置指定列来构建字典编码,将字典编码的字符串的比较转化为数字的比较,加快group by、filter等查询速度。该hint仅8.3.0及以上集群版本支持。 注意事项 目前只支持新版的hstore表(表级参数为enable_hstore_opt为on)。
节提到的hint联合使用。 对于FROM关键字后的子查询,则需要使用子查询的别名进行hint,block_name hint不会被用到。 如果子链接中含有多个表,则提升后这些表可与外层表以任意优化顺序连接,hint也不会被用到。 参数说明 block_name表示语句块的bloc
GaussDB(DWS)查询时结果不一致的常见场景和解决方法 GaussDB(DWS)中使用SQL语句查询时会出现同一条查询语句返回结果不一致的问题,此类问题大部分都是由于语法使用不当或用法不合理导致,通过合理的业务使用可以避免此类问题。以下列举了几种常见的查询结果不一致的场景和对应的解决办法供参考: