未分区剪枝导致SQL查询慢 问题现象 SQL语句查询慢,查询的分区表总共185亿条数据,查询条件中没有涉及分区键。 1 2 SELECT passtime FROM table where passtime<'2020-02-19 15:28:14' and passtime>'2020
创建和管理DWS分区表 分区表就是把逻辑上的一张表根据分区策略分成几张物理块库进行存储,这张逻辑上的表称之为分区表,物理块称之为分区。分区表是一张逻辑表,不存储数据,数据实际是存储在分区上的。当进行条件查询时,系统只会扫描满足条件的分区,避免全表扫描,从而提升查询性能。 分区表的优势
创建和管理DWS分区表 分区表就是把逻辑上的一张表根据分区策略分成几张物理块库进行存储,这张逻辑上的表称之为分区表,物理块称之为分区。分区表是一张逻辑表,不存储数据,数据实际是存储在分区上的。当进行条件查询时,系统只会扫描满足条件的分区,避免全表扫描,从而提升查询性能。 分区表的优势
GS_OBSSCANINFO GS_OBSSCANINFO系统表定义了在云上加速场景中,使用加速集群时扫描OBS数据的运行时信息,每条记录对应一个query中单个OBS外表的运行时信息。 表1 GS_OBSSCANINFO字段 名字 类型 引用 描述 query_id bigint
PG_OBSSCANINFO PG_OBSSCANINFO系统表定义了在云上加速场景中,使用加速集群时扫描OBS数据的运行时信息,每条记录对应一个query中单个OBS外表的运行时信息。 表1 PG_OBSSCANINFO字段 名字 类型 引用 描述 query_id bigint
GS_OBSSCANINFO GS_OBSSCANINFO系统表定义了在云上加速场景中,使用加速集群时扫描OBS数据的运行时信息,每条记录对应一个query中单个OBS外表的运行时信息。 表1 GS_OBSSCANINFO字段 名字 类型 引用 描述 query_id bigint
PG_OBSSCANINFO PG_OBSSCANINFO系统表定义了在云上加速场景中,使用加速集群时扫描OBS数据的运行时信息,每条记录对应一个query中单个OBS外表的运行时信息。 表1 PG_OBSSCANINFO字段 名字 类型 引用 描述 query_id bigint
GAUSS-03841 -- GAUSS-03850 GAUSS-03841: "vector scan for VecMarkPos is not yet implemented " SQLSTATE: XX000 错误原因:系统内部错误:未实现针对列存扫描节点的MarkPos功能
备份metadata元数据超过64MB时,从OBS下载需要分段下载,下载最后一段buffers由于代码漏洞导致被丢弃,下载的metadata损坏,导致无法解压。 8.2.1.100及以下版本 hstore delta表analyze采样占用内存高。
GAUSS-04721 -- GAUSS-04730 GAUSS-04721: "The path here must be an absolute path, but it is: %s" SQLSTATE: HV00A 错误原因:Dfs表扫描算子中传入的文件名应当为绝对路径名,
TRUNCATE 功能描述 TRUNCATE语法用于清理表数据,快速地从表中删除所有行。 它与在目标表上进行无条件的DELETE的效果相同,但由于TRUNCATE实际上并不扫描表,因此速度更快,尤其在大表上操作效果更明显。 TRUNCATE TABLE、DELETE TABLE和DROP
TRUNCATE 功能描述 TRUNCATE语法用于清理表数据,快速地从表中删除所有行。 它与在目标表上进行无条件的DELETE的效果相同,但由于TRUNCATE实际上并不扫描表,因此速度更快,尤其在大表上操作效果更明显。 TRUNCATE TABLE、DELETE TABLE和DROP
DWS是否有高效的删除表数据的方法? 有。删除大批量的日志数据时,使用delete语法需要花费更大的时间,此时可以通过TRUNCATE语法进行大批量删除操作,它的删除速度比delete快得多。 详情请参见TRUNCATE。 功能描述 清理表数据,TRUNCATE在清理表数据时,可以快速地从表中删除所有行
案例:调整局部聚簇键 局部聚簇 (Partial Cluster Key,简称PCK),列存储下一种通过min/max稀疏索引实现基表快速扫描的索引技术。Partial Cluster Key可以指定多列,但是一般不建议超过2列。PCK适用于列存大表点查询加速。 优化前 创建一个无局部聚簇
案例:调整局部聚簇键 局部聚簇 (Partial Cluster Key, 简称PCK),列存储下一种通过min/max稀疏索引实现基表快速扫描的索引技术。Partial Cluster Key可以指定多列,但是一般不建议超过2列。PCK适用于列存大表点查询加速。 优化前 创建一个无局部聚簇
案例:调整局部聚簇键 局部聚簇 (Partial Cluster Key,简称PCK),列存储下一种通过min/max稀疏索引实现基表快速扫描的索引技术。Partial Cluster Key可以指定多列,但是一般不建议超过2列。PCK适用于列存大表点查询加速。 优化前 创建一个无局部聚簇
案例:增加JOIN列非空条件 若Join列上的NULL值较多,可以加上is not null过滤条件,以实现数据的提前过滤,提高Join效率。 优化前 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
案例:增加JOIN列非空条件 若Join列上的NULL值较多,可以加上is not null过滤条件,以实现数据的提前过滤,提高Join效率。 优化前 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
行列存压缩 DWS中,只支持列存表压缩功能,暂不支持行存表压缩功能。优化行列存压缩机制,DSC工具迁移时会根据DWS的特性进行相应适配。 压缩参数 : table.compress.mode创建新表时,需要在CREATE TABLE语句中指定关键字COMPRESS,这样,当对该表进行批量插入时就会触发压缩特性
案例:增加JOIN列非空条件 若Join列上的NULL值较多,可以加上is not null过滤条件,以实现数据的提前过滤,提高Join效率。 优化前 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22