检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
INDEX对象设计规范(重点) 规则2.14 只创建必要的索引,创建索引必须选择合适的列和顺序 违反规范的影响: 冗余索引浪费空间,索引多影响入库效率。 组合索引中列顺序错误,影响查询效率。 最佳实践: 索引的使用需兼顾以下条件: 索引列必须是常用于过滤条件或JOIN关联条件的列。
Join方式的Hint 功能描述 指明Join使用的方法,可以为Nested Loop,Hash Join和Merge Join。 语法格式 1 [no] nestloop|hashjoin|mergejoin([@block_name] table_list) 参数说明 no表示hint的join方式不使用。
Stream方式的Hint 功能描述 指明stream使用的方法,可以为broadcast和redistribute以及指定AGG重分布的分布键。 指定Agg重分布列Hint,仅8.1.3.100及以上集群版本支持。 语法格式 1 [no] broadcast | redistribute([@block_name]
使用GaussDB(DWS) 的ODBC驱动,SQL查询结果中字符类型的字段内容会被截断 问题现象 使用GaussDB(DWS)的ODBC驱动,SQL查询结果中字符类型的字段内容会被截断,需通过SQL语法CAST BYTEA转成二进制才能完整取出字段信息。但是,同样的程序连接ORACLE、SQL
GaussDB(DWS)数据库对象设计规则 GaussDB(DWS) Database和Schema设计规则 GaussDB(DWS)表设计规则 GaussDB(DWS)字段设计规则 GaussDB(DWS)约束设计规则 GaussDB(DWS)视图和关联表设计规则 父主题: G
JDBC开发流程 JDBC(Java Database Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问接口,应用程序可基于它操作数据。 GaussDB(DWS)库提供了对JDBC 4.0特性的支持,需要使用JDK1
执行动态非查询语句 语法 语法请参见图1。 图1 noselect::= using_clause子句的语法参见图2。 图2 using_clause-2 对以上语法格式的解释如下: USING IN bind_argument用于指定存放传递给动态SQL值的变量,在dynami
GaussDB(DWS)字段设计规则 选择数据类型 在字段设计时,基于查询效率的考虑,一般遵循以下原则: 【建议】尽量使用高效数据类型。 选择数值类型时,在满足业务精度的情况下,选择数据类型的优先级从高到低依次为整数、浮点数、NUMERIC。 【建议】当多个表存在逻辑关系时,表示同一含义的字段应该使用相同的数据类型。
JDBC开发流程 JDBC(Java Database Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问接口,应用程序可基于它操作数据。 GaussDB(DWS)库提供了对JDBC 4.0特性的支持,需要使用JDK1
子链接块名的hint 功能描述 指明子链接块的名称。 语法格式 1 blockname (table) 参数说明 table表示为该子链接块hint的别名的名称。 blockname hint仅在对应的子链接块提升时才会被上层查询使用。目前支持的子链接提升包括IN子链接提升、E
} } 示例2 客户端内存占用过多解决 此示例主要使用setFetchSize来调整客户端内存使用,它的原理是通过数据库游标来分批获取服务器端数据,但它会加大网络交互,可能会损失部分性能。 由于游标事务内有效,故需要先关闭自动提交。 1 2 3 4 5 6 7
子链接块名的hint 功能描述 指明子链接块的名称。 语法格式 1 blockname ([@block_name] table) 注意事项 block_name hint仅在对应的子链接块提升时才会被上层查询使用。目前支持的子链接提升包括IN子链接提升、EXISTS子链接提升
执行动态非查询语句 语法 语法请参见图1。 图1 noselect::= using_clause子句的语法参见图2。 图2 using_clause-2 对以上语法格式的解释如下: USING IN bind_argument用于指定存放传递给动态SQL值的变量,在dynami
通过编写shell脚本自动化执行查询和结果收集 登录ECS,进入到/opt目录下,使用vim命令生成query.conf和run_query.sh两个脚本文件。脚本内容如下,编辑后按:wq!保存脚本配置。 run_query.sh脚本如下: 1 2 3 4 5 6 7
GaussDB(DWS)约束设计规则 DEFAULT和NULL约束 【建议】如果能够从业务层面补全字段值,则不建议使用DEFAULT约束,避免数据加载时产生不符合预期的结果。 【建议】给明确不存在NULL值的字段加上NOT NULL约束,优化器会在特定场景下对其进行自动优化。 【
TABLE对象设计规范(重点) 规则2.9 创建表时必须选择正确的分布方式和分布列 违反规范的影响: 分布式和分布列选择错误,导致表数据存储倾斜,访问性能下降,严重情况会触发存储和计算资源过载。 方案建议: 创建表时通过DISTRIBUTE BY显式指定分布方式和分布列,分布列选择原则如下表所示。
JDBC接口参考 JDBC接口是一套提供给用户的API方法,本节将对部分常用接口做具体描述,若涉及其他接口可参考JDK1.6(软件包)/JDBC4.0中相关内容。 java.sql.Connection java.sql.Connection是数据库连接接口。 表1 对java.sql
ODBC接口参考 ODBC接口是一套提供给用户的API函数,本节将对部分常用接口做具体描述,若涉及其他接口可参考msdn(网址:https://msdn.microsoft.com/en-us/library/windows/desktop/ms714177(v=vs.85).aspx)中ODBC
案例:设置cost_param对查询性能优化 cost_param参数用于控制在特定的客户场景中,使用不同的估算方法使得估算值与真实值更接近。此参数可以同时控制多种方法,与某一方法对应的位做与操作,不为0表示该方法被选择。 场景一:优化前 cost_param的bit0(set
执行动态查询语句 介绍执行动态查询语句。GaussDB(DWS)提供两种方式:使用EXECUTE IMMEDIATE、OPEN FOR实现动态查询。前者通过动态执行SELECT语句,后者结合了游标的使用。当需要将查询的结果保存在一个数据集用于提取时,可使用OPEN FOR实现动态查询。