检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
GaussDB(DWS)如何实现行转列及列转行? 本节介绍GaussDB(DWS)中如何使用SQL语句实现行转列、列转行。 场景介绍 以学生成绩为例: 老师会按照学科录入成绩,每科老师都会单独录入每个学生对应学科的成绩,而每位学生只关注自己各科的成绩。如果把老师录入数据作为原始表
违反规范的影响: 无明确终止条件,递归陷入死循环,无法完成。 重复数据过多,递归产生大量重复数据,占用大量资源。 方案建议: 根据业务表数据量和数据特征设计合理的递归终止条件。 建议3.16 访问对象(表,函数等)时带上SCHEMA名称 违反规范的影响: 不指定SCHEMA名称前缀,实际会根据
针对列存表并发执行UPDATE/DELETE,导致行锁阻塞和分布式死锁风险,导致业务报错和性能下降。 方案建议: 频繁执行UPDATE/DELETE操作的表需设计为行存表。 按主键或分布列进行分组UPDATE/DELETE,组间并行,组内串行。 父主题: GaussDB(DWS) SQL开发规范
DDL操作规范 建议3.1 DDL操作(CREATE除外)避免在业务高峰期和长事务中执行 违反规范的影响: DDL操作普遍持锁级别高,如ALTER、DROP、TRUNCATE、REINDEX、VACUUM FULL等,执行时会造成业务等锁阻塞。 高峰期执行持锁级别高的DDL操作,造成业务等锁阻塞。
使用GaussDB(DWS)视图重建功能实现视图解耦以提升开发效率 为了解决因存在视图和表依赖而无法单独修改表对象的问题,GaussDB(DWS)实现了视图的解耦与重建功能。本文重点介绍视图自动重建功能的使用场景与使用方法。 场景介绍 GaussDB(DWS)使用对象标识符(oi
DDL操作规范 建议3.1 DDL操作(CREATE除外)避免在业务高峰期和长事务中执行 违反规范的影响: DDL操作普遍持锁级别高,如ALTER、DROP、TRUNCATE、REINDEX、VACUUM FULL等,执行时会造成业务等锁阻塞。 高峰期执行持锁级别高的DDL操作,造成业务等锁阻塞。
, ib_upper_bound integer ) ; 设计调优后第二次创建表 本节所附为调优表实践中进行了存储方式、压缩级别、分布方式和分布列选择后,二次建表语法。 1 2 3 4
违反规范的影响: 无明确终止条件,递归陷入死循环,无法完成。 重复数据过多,递归产生大量重复数据,占用大量资源。 方案建议: 根据业务表数据量和数据特征设计合理的递归终止条件。 建议3.16 访问对象(表,函数等)时带上SCHEMA名称 违反规范的影响: 不指定SCHEMA名称前缀,实际会根据
步骤4:创建新表并加载数据 为每张表选择了存储方式、压缩级别、分布方式和分布列后,使用这些属性创建表并重新加载数据。以便对比表设计前后的系统性能。 执行CREATE TABLE创建表前,删除前面创建的表。 1 2 3 4 5 6 7 8 9 10 11 12 13
CREATE SERVER 功能描述 创建一个外部服务器。 外部服务器是存储HDFS集群信息、OBS服务器信息、DLI连接信息或其他同构集群信息的载体。 注意事项 默认只有系统管理员才可以创建外部服务器,否则需要对所使用的FOREIGN DATA WRAPPER授权,授权语法为:
CREATE SERVER 功能描述 创建一个外部服务器。 外部服务器是存储HDFS集群信息、OBS服务器信息、DLI连接信息或其他同构集群信息的载体。 注意事项 默认只有系统管理员才可以创建外部服务器,否则需要对所使用的FOREIGN DATA WRAPPER授权,授权语法为:
INSERT操作规范 规则3.3 INSERT多VALUES批插场景使用COPY替代 违反规范的影响: 多VALUES解析耗时、耗资源,入库效率低。 方案建议: 前端使用COPY类接口(如JDBC的CopyManger等)代替INSERT VALUES。 建议3.4 禁止针对普通列存表进行实时INSERT操作
针对列存表并发执行UPDATE/DELETE,导致行锁阻塞和分布式死锁风险,导致业务报错和性能下降。 方案建议: 频繁执行UPDATE/DELETE操作的表需设计为行存表。 按主键或分布列进行分组UPDATE/DELETE,组间并行,组内串行。 父主题: GaussDB(DWS) SQL开发规范
INSERT操作规范 规则3.3 INSERT多VALUES批插场景使用COPY替代 违反规范的影响: 多VALUES解析耗时、耗资源,入库效率低。 方案建议: 前端使用COPY类接口(如JDBC的CopyManger等)代替INSERT VALUES。 建议3.4 禁止针对普通列存表进行实时INSERT操作
重写查询和配置工作负载管理 (WLM) 通常可进一步提升查询性能。有关更多信息,请参阅优化查询性能概述。 基于调优表实践的具体步骤,您可以进一步应用“基于表结构设计和调优提升GaussDB(DWS)查询性能”中的优秀实践方法来改进表的分配,以达到您所期望的数据加载、存储和查询方面的效果。 清除资源 在完成本次实践之后,应删除集群。
如何与GaussDB(DWS)进行通信? 业务应用与DWS进行通信的基本原则是确保业务应用所在网络与DWS的网络能连通,以下是当前主流连接场景,请根据实际情况进行选择。 表1 如何与DWS进行通信 场景 通信方式 支持的连接方式 云上 业务应用与DWS在同一个区域内同一个VPC下
Customer 1981703 Hash c_customer_sk Income_Band 20 Replication - 父主题: 基于表结构设计和调优提升GaussDB(DWS)查询性能
账户与权限 GaussDB(DWS)如何实现业务隔离 GaussDB(DWS)数据库账户密码到期了,如何修改? 如何给GaussDB(DWS)指定用户赋予某张表的权限? 如何给GaussDB(DWS)指定用户赋予某个SCHEMA的权限? 如何创建GaussDB(DWS)数据库只读用户?
56ms 27472.815ms 如果对表设计后的性能还有更高期望,可以运行EXPLAIN PERFORMANCE以查看执行计划进行调优。 关于执行计划的更详细介绍及查询优化请参考SQL执行计划及优化查询性能概述 。 父主题: 基于表结构设计和调优提升GaussDB(DWS)查询性能
安全和认证(postgresql.conf) 介绍设置客户端和服务器的安全认证方式的相关参数。 session_timeout 参数说明:表明与服务器建立连接后,不进行任何操作的最长时间。 参数类型:USERSET 取值范围:整型,0-86400,最小单位为秒(s),0表示关闭超时设置。