检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
查询1 14552.05ms - 查询2 27952.36ms - 查询3 17721.15ms - 总执行时间 60225.56ms - 执行ANALYZE更新统计信息。
处理tsquery GaussDB(DWS)提供了函数和操作符用来操作tsquery类型的查询。 tsquery && tsquery 返回两个给定查询tsquery的与结果。 tsquery || tsquery 返回两个给定查询tsquery的或结果。 !!
如果通过公网地址连接,请指定为集群“公网访问地址”或“公网访问域名”,如果通过内网地址连接,请指定为集群“内网访问地址”或“内网访问域名”。如果通过弹性负载均衡连接,请指定为“弹性负载均衡地址”。 “数据库用户”:输入集群数据库的用户名。
如果通过公网地址连接,请指定为集群“公网访问地址”或“公网访问域名”,如果通过内网地址连接,请指定为集群“内网访问地址”或“内网访问域名”。如果通过弹性负载均衡连接,请指定为“弹性负载均衡地址”。 “数据库用户”:输入集群数据库的用户名。
下面查询的例子是cost_param的bit1为1时的优化场景。
步骤3:调优表操作具体步骤 选择存储方式 此实践中所使用的样例表为典型的TPC-DS表,是典型的多字段表,统计分析类查询场景多,因此选择列存存储方式。
例如,查询获取func_add_sql函数的owner为用户u1。
下面查询的例子是cost_param的bit1为1时的优化场景。
-p 8000 -h “集群地址”如果通过公网地址连接,请指定为集群“公网访问地址”或“公网访问域名”,如果通过内网地址连接,请指定为集群“内网访问地址”或“内网访问域名”。 -h 10.10.10.100 其他参数说明请参见《工具指南》中“gs_dumpall”章节。
查询优化器会使用这些统计数据,以生成最有效的执行计划。 建议在执行了大批量插入/删除操作后,例行对表或全库执行ANALYZE语句更新统计信息。 父主题: 基于表结构设计和调优提升GaussDB(DWS)查询性能
准备工作 已注册华为账号并开通华为云,具体请参见注册华为账号并开通华为云,且在使用GaussDB(DWS) 前检查账号状态,账号不能处于欠费或冻结状态。 已创建虚拟私有云和子网,参见创建虚拟私有云和子网。
TPC-H查询包含8张数据表和22条复杂SQL查询,大多数查询包含多表Join、子查询和Group By等。
TPC-DS测试结果 本测试主要包括使用存算一体和存算分离两种部署架构下,TPC-DS 1T规模数据集的开箱查询性能,共99个查询。存算一体查询总耗时为622.21s,存算分离查询总耗时为645.42s。详细结果见下表。
-p 8000 -h “集群地址”如果通过公网地址连接,请指定为集群“公网访问地址”或“公网访问域名”,如果通过内网地址连接,请指定为集群“内网访问地址”或“内网访问域名”。
例如,表dwcjk相关的部分查询中出现dwcjk的列zqdh存在常量的约束(例如zqdh=’000001),那么就应当尽量不用zqdh做分布列。 在满足前两条原则的情况,考虑选择查询中的连接条件为分布列,以便Join任务能够下推到DN中执行,且减少DN之间的通信数据量。
以查看执行计划进行调优。
查看数据倾斜状态 操作场景 数据倾斜会造成查询表性能下降。对于记录数超过千万条的表,建议在执行全量数据导入前,先导入部分数据,以进行数据倾斜检查和调整分布列,避免导入大量数据后发现数据倾斜,调整成本高。
TPC-H测试结果 DWS测试了使用存算一体和存算分离两种部署架构下,TPC-H 1T规模数据集的开箱查询性能,共22个查询。存算一体查询总耗时为170.08s,存算分离查询总耗时为172.62s。 图1 TPC-H 1000X开箱性能 详细性能数据见下表。
nodeis_primary boolean 在replication表下,是否优选当前节点作为优先执行的节点进行非查询操作。 nodeis_preferred boolean 在replication表下,是否优选当前节点作为首选的节点进行查询。
如果通过公网地址连接,请指定为集群“公网访问域名”,如果通过内网地址连接,请指定为集群“内网访问域名”。如果通过弹性负载均衡连接,请指定为“弹性负载均衡地址”。 “数据库用户”:输入集群数据库的用户名。