数据仓库服务 GaussDB(DWS)-降低I/O的处理方案:场景5:无分区、有分区不剪枝
场景5:无分区、有分区不剪枝
例如某业务表进场使用createtime时间列作为过滤条件获取特定时间数据,对该表设计为分区表后没有走分区剪枝(Selected Partitions数量多),Scan花了701785ms,I/O效率极低。
在增加分区键createtime作为过滤条件后,Partitioned scan走分区剪枝(Selected Partitions数量极少),性能从700s优化到10s,I/O效率极大提升。
常见场景:按照时间存储数据的大表,查询特征大多为访问当天或者某几天的数据,这种情况应该通过分区键进行分区剪枝(只扫描对应少量分区)来极大提升I/O效率,不走分区剪枝常见的情况有:
- 未设计成分区表。
- 设计了分区没使用分区键做过滤条件。
- 分区键做过滤条件时,对列值有函数转换。
触发因素:未合理使用分区表和分区剪枝功能,导致扫描效率低。
处理方式:
- 对按照时间特征存储和访问的大表设计成分区表。
- 分区键一般选离散度高、常用于查询过滤条件中的时间类型的字段。
- 分区间隔一般参考高频的查询所使用的间隔,需要注意的是针对列存表,分区间隔过小(例如按小时)可能会导致小文件过多的问题,一般建议最小间隔为按天。
- GaussDB(DWS)常用SQL_常用SQL命令_SQL语法
- GaussDB(DWS)服务_什么是IoT数仓_如何使用IoT数仓
- GaussDB下载_GaussDB数据库下载_高斯数据库下载_华为云
- GaussDB开发_GaussDB数据库开发_高斯数据库开发_华为云
- 数据库监控DMS_数据库智能运维_了解Auto Pilot_DMS_DWS节点监控
- 数据仓库服务GaussDB(DWS)_SQL on Anywhere
- Gauss(DWS)数据加解密_数据加解密算法_数据加解密函数
- GAUSS(DWS)工具_gsql工具_DataStudio工具_DSC工具
- 调用GaussDB(DWS) API接口_数据仓库服务调用API_如何调用API_在DWS中调用API
- GaussDB数据库搭建_GaussDB怎么样_高斯数据库搭建