检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
调优前:学习表结构设计 在本实践中,您将学习如何优化表的设计。您首先不指定存储方式,分布键、分布方式和压缩方式创建表,然后为这些表加载测试数据并测试系统性能。接下来,您将应用调优表实践以使用新的存储方式、分布键、分布方式和压缩方式重新创建这些表,并再次为这些表加载测试数据和测试系
MEDIUMBLOB和LONGBLOB。这些不同之处仅在于各自可以容纳的值的最大长度不同。DSC工具支持以下列出类型转换。 BLOB类型可以存储图片,列存储不支持BLOB。 类型对照 表1 大对象类型对照表 MySQL大对象类型 MySQL INPUT GaussDB(DWS) OUTPUT
用,用于创建视图。 Teradata和GaussDB(DWS)均支持关键词VIEW,但SELECT语句在迁移过程中会用()。详情请参见下方图片。 通过tdMigrateVIEWCHECKOPTIO....参数可以配置如何迁移包含WITH CHECK OPTION关键字的视图。如果
经过测试,得到了优化表前后的加载时间、存储占用情况和查询执行时间,并记录了结果,针对结果进行对比分析。 下表显示了本次实践所用集群的示例结果。您的结果会有所不同,但应该显示出相似的性能提升。 基准 优化前 优化后 改变 百分比 加载时间(11张表) 341584ms 257241ms -84343ms -24.7%
row_constructor 两边都是一个行构造器,两行值必须具有相同数目的字段,每一行都进行比较,行比较允许使用=,<>,<,<=,>=等操作符,或其中一个相似的语义符。 =<>和别的操作符使用略有不同。如果两行值的所有字段都是非空并且相等,则认为两行是相等的;如果两行值的任意字段为非空并且不相等
数组类型 数组是一组数据的集合。数组类型允许在单个数据库字段中存储多个值。数组类型通常用于存储和处理具有相似属性的数据。 语法格式 1 ARRAY [ param ] 或 1 '{ param }' 其中参数param说明如下: param :数组包含的值,允许出现零个或多个
row_constructor 两边都是一个行构造器,两行值必须具有相同数目的字段,每一行都进行比较,行比较允许使用=,<>,<,<=,>=等操作符,或其中一个相似的语义符。 =<>和别的操作符使用略有不同。如果两行值的所有字段都是非空并且相等,则认为两行是相等的;如果两行值的任意字段为非空并且不相等
例如,可以创建复杂条件的计算函数并且后面用它们来定义操作符或把它们用于索引表达式。 SQL被大多数数据库用作查询语言。它是可移植的并且容易学习。但是每一个SQL语句必须由数据库服务器单独执行。 这意味着客户端应用必须发送每一个查询到数据库服务器、等待它被处理、接收并处理结果、做一
CASCADE删除,或者是在DROP RESTRICT的情况下避免删除。 另请参考PG_SHDEPEND,对于记录那些在数据库集群之间共享的对象之间的依赖性关系提供了相似的功能。 表1 PG_DEPEND字段 名称 类型 引用 描述 classid oid PG_CLASS.oid 依赖对象所在系统表的OID。
例如,可以创建复杂条件的计算函数并且后面用它们来定义操作符或把它们用于索引表达式。 SQL被大多数数据库用作查询语言。它是可移植的并且容易学习。但是每一个SQL语句必须由数据库服务器单独执行。 这意味着客户端应用必须发送每一个查询到数据库服务器、等待它被处理、接收并处理结果、做一
CASCADE删除,或者是在DROP RESTRICT的情况下避免删除。 另请参考PG_SHDEPEND,对于记录那些在数据库集群之间共享的对象之间的依赖性关系提供了相似的功能。 表1 PG_DEPEND字段 名字 类型 引用 描述 classid oid PG_CLASS.oid 依赖对象所在系统表的OID。
catalog_name) 描述:获取一个共享数据库对象的注释。 返回类型:text 备注:shobj_description和obj_description功能相似,不同之处仅在于shobj_description用于共享对象。一些系统表是通用于集群中所有数据库的全局表,因此这些表的注释也是全局存储的。
排序查询结果 排序是指试图针对特定查询衡量文档的相关度,从而将众多的匹配文档中相关度最高的文档排在最前。GaussDB(DWS)提供了两个预置的排序函数:ts_rank和ts_rank_cd。函数考虑了词法,距离,和结构信息;也就是,考虑查询词在文档中出现的频率、紧密程度、以及出
数组类型 数组是一组数据的集合。数组类型允许在单个数据库字段中存储多个值。数组类型通常用于存储和处理具有相似属性的数据。 语法格式 1 ARRAY [ param ] 或 1 '{ param }' 其中参数param说明如下: param :数组包含的值,允许出现零个或多个
shuffle占用了大量宝贵的网络资源,减小不必要的数据shuffle,可以减少网络压力,使数据的处理本地化,提高集群的性能和可支持的并发度。通过对关联条件和分组条件的仔细设计,能够尽可能的减少不必要的数据shuffle。 选择存储方案 【建议】表的存储类型是表定义设计的第一步,
点查询(返回记录少,基于索引的简单查询)。 频繁进行增删改查操作且该涉及整行数据。 列存 查询时只有涉及到的列会被读取。 列数据特征比较相似,能够更有效地进行数据压缩。 不适合少量数据INSERT或UPDATE操作。 表的字段比较多(大宽表),查询中涉及到的列不多。 统计分析类查询
WHERE teid NOT IN (SELECT teid FROM course ); ANY/SOME 示例 左侧主句与右侧子查询进行字段比对,获取需要的结果集: 1 SELECT * FROM course WHERE teid < ANY (SELECT teid FROM teacher
排序查询结果 排序试图针对特定查询衡量文档的相关度,从而将众多的匹配文档中相关度最高的文档排在最前。GaussDB(DWS)提供了两个预置的排序函数。函数考虑了词法,距离,和结构信息;也就是,考虑查询词在文档中出现的频率、紧密程度、以及出现的地方在文档中的重要性。然而,相关性的概
WHERE teid NOT IN (SELECT teid FROM course ); ANY/SOME 示例 左侧主句与右侧子查询进行字段比对,获取需要的结果集: 1 SELECT * FROM course WHERE teid < ANY (SELECT teid FROM teacher
OBS的数据导入性能,多数场景受限于网络的并发访问速率,因此在OBS服务器上最好部署多个桶,使用多桶并发导入,提高DN数据传输利用率。 并发导入场景,与单表导入相似,至少应保证I/O性能大于网络最大速率。 配置GUC参数“raise_errors_if_no_files”、“partition_mem