检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
DATABASE对象设计规范 规则2.1 避免直接使用内置的DATABASE(如postgres、gaussdb等) 违反规则的影响: 内置的数据库编码、兼容模式不符合业务要求时,需要重新迁移数据。 所有业务均使用内置数据库,影响变更耗时。 方案建议: 根据实际业务需要,合理创建专用DATABASE并划分给业务使用。
INDEX对象设计规范(重点) 规则2.14 只创建必要的索引,创建索引必须选择合适的列和顺序 违反规范的影响: 冗余索引浪费空间,索引多影响入库效率。 组合索引中列顺序错误,影响查询效率。 最佳实践: 索引的使用需兼顾以下条件: 索引列必须是常用于过滤条件或JOIN关联条件的列。
DATABASE对象设计规范 规则2.1 避免直接使用内置的DATABASE(如postgres、gaussdb等) 违反规则的影响: 内置的数据库编码、兼容模式不符合业务要求时,需要重新迁移数据。 所有业务均使用内置数据库,影响变更耗时。 方案建议: 根据实际业务需要,合理创建专用DATABASE并划分给业务使用。
子链接块名的hint 功能描述 指明子链接块的名称。 语法格式 1 blockname ([@block_name] table) 注意事项 block_name hint仅在对应的子链接块提升时才会被上层查询使用。目前支持的子链接提升包括IN子链接提升、EXISTS子链接提升
查询表大小时报错“could not open relation with OID xxx” 问题现象 在执行pg_table_size查询表大小时,出现报错“could not open relation with OID xxxx.”。 原因分析 通过执行pg_table_s
审视和修改表定义 在分布式框架下,数据分布在各个DN上。一个或者几个DN的数据存在一块物理存储设备上,较好的表定义需要满足以下要求: 表数据均匀分布在各个DN上,以防止单个DN对应的存储设备空间不足造成集群有效容量下降。选择合适分布列,避免数据分布倾斜可以实现该点。 表Scan压
MOVE 功能描述 MOVE在不检索数据的情况下重新定位一个游标。MOVE的作用类似于FETCH命令,但只是重定位游标而不返回行。 注意事项 无。 语法格式 1 MOVE [ direction [ FROM | IN ] ] cursor_name; 其中direction子句为可选参数。
处理结果集 设置结果集类型 不同类型的结果集有各自的应用场景,应用程序需要根据实际情况选择相应的结果集类型。在执行SQL语句过程中,都需要先创建相应的语句对象,而部分创建语句对象的方法提供了设置结果集类型的功能。具体的参数设置如表1所示。涉及的Connection的方法如下: 1
JSON/JSONB操作符 表1 json和jsonb通用操作符 操作符 左操作数类型 右操作数类型 返回类型 描述 示例 -> Array-json(b) int json(b) 获得array-json元素。下标不存在返回空。 SELECT '[{"a":"foo"}, {"b":"bar"}
INDEX对象设计规范(重点) 规则2.14 只创建必要的索引,创建索引必须选择合适的列和顺序 违反规范的影响: 冗余索引浪费空间,索引多影响入库效率。 组合索引中列顺序错误,影响查询效率。 最佳实践: 索引的使用需兼顾以下条件: 索引列必须是常用于过滤条件或JOIN关联条件的列。
处理结果集 设置结果集类型 不同类型的结果集有各自的应用场景,应用程序需要根据实际情况选择相应的结果集类型。在执行SQL语句过程中,都需要先创建相应的语句对象,而部分创建语句对象的方法提供了设置结果集类型的功能。具体的参数设置如表1所示。涉及的Connection的方法如下: 1
JSON/JSONB操作符 表1 json和jsonb通用操作符 操作符 左操作数类型 右操作数类型 返回类型 描述 示例 -> Array-json(b) int json(b) 获得array-json元素。下标不存在返回空。 SELECT '[{"a":"foo"}, {"b":"bar"}
GAUSS-04671 -- GAUSS-04680 GAUSS-04671: "Failed to open the XDB file" SQLSTATE: XX000 错误原因:无法打开字典文件。 解决办法:检查字典文件路径和格式,确保字典文件正确。 GAUSS-04672:
GAUSS-04091 -- GAUSS-04100 GAUSS-04091: "proclock table corrupted" SQLSTATE: XX000 错误原因:proclock 哈希表损坏。 解决办法:请联系技术支持工程师提供技术支持。 GAUSS-04092: "LockAcquire
GaussDB(DWS)约束设计规则 DEFAULT和NULL约束 【建议】如果能够从业务层面补全字段值,则不建议使用DEFAULT约束,避免数据加载时产生不符合预期的结果。 【建议】给明确不存在NULL值的字段加上NOT NULL约束,优化器会在特定场景下对其进行自动优化。 【
分词器 全文检索功能还可以做更多事情:忽略索引某个词(停用词),处理同义词和使用复杂解析,例如,不仅基于空格的解析。这些功能通过文本搜索分词器控制。GaussDB(DWS)支持多语言的预定义的分词器,并且可以创建分词器(gsql的\dF命令显示了所有可用分词器)。 在安装期间选择
GAUSS-50400 -- GAUSS-50499 GAUSS-50400: "The remaining space of device [%s] cannot be less than %s." SQLSTATE: 无 错误原因:磁盘空间不能少于指定值。 解决办法:清理磁盘空间、扩大磁盘容量或更换磁盘。
空间数据类型 概述 MySQL具有对应于OpenGIS类的空间数据类型。DSC工具支持以下列出类型转换。 类型对照 表1 空间数据类型对照表 MySQL空间数据类型 MySQL INPUT GaussDB(DWS) OUTPUT GEOMETRY GEOMETRY GEOMETRY
集合类型 概述 MySQL ENUM是一个字符串对象,具有从列创建时在列规范中明确枚举的允许值列表中选择的值。 SET是一个字符串对象,可以有零个或多个值,每个值必须从创建表时指定的允许值列表中选择。 类型对照 表1 集合类型对照表 MySQL集合类型 MySQL INPUT GaussDB(DWS)
GaussDB(DWS)约束设计规则 DEFAULT和NULL约束 【建议】如果能够从业务层面补全字段值,则不建议使用DEFAULT约束,避免数据加载时产生不符合预期的结果。 【建议】给明确不存在NULL值的字段加上NOT NULL约束,优化器会在特定场景下对其进行自动优化。 【