数据仓库服务 GAUSSDB(DWS)-性能优化之业务降IO优化:场景2:脏数据&数据清理
场景2:脏数据&数据清理
某SQL总执行时间2.519s,其中Scan占了2.516s,同时该表的扫描最终只扫描到0条符合条件数据,过滤了20480条数据,即总共扫描了20480+0条数据却消耗了2s+,扫描时间与扫描数据量严重不符,此现象可判断为由于脏数据多从而影响扫描和IO效率。
查看表脏页率为99%,Vacuum Full后性能优化到100ms左右。
触发因素:表频繁执行update/delete导致脏数据过多,且长时间未VACUUM FULL清理。
处理方法
- 对频繁update/delete产生脏数据的表,定期VACUUM FULL,因大表的VACUUM FULL也会消耗大量IO,因此需要在业务低峰时执行,避免加剧业务高峰期IO压力。
- 当脏数据产生很快,频繁VACUUM FULL也会消耗大量IO,甚至加剧整个系统的IO瓶颈,这时需要考虑脏数据的产生是否合理。针对频繁delete的场景,可以考虑如下方案:
- 全量delete修改为truncate或者使用临时表替代。
- 定期delete某时间段数据,设计成分区表并使用truncate&drop分区替代。
- 数据仓库服务GaussDB(DWS)_SQL on Anywhere
- DWS安全_数据仓库服务安全_DWS数据安全管理_DWS安全保障_DWS安全策略
- 调用GaussDB(DWS) API接口_数据仓库服务调用API_如何调用API_在DWS中调用API
- DWS产品介绍_DWS产品优势_DWS功能_DWS使用场景_DWS是什么
- 数据库监控DMS_数据库智能运维_了解Auto Pilot_DMS_DWS节点监控
- GaussDB(DWS)服务_什么是IoT数仓_如何使用IoT数仓
- GAUSS(DWS)工具_gsql工具_DataStudio工具_DSC工具
- 数据安全-数据库安全-配置数据库sql审计规则
- GaussDB(DWS)常用SQL_常用SQL命令_SQL语法
- GaussDB应用场景_GaussDB数据库应用场景_高斯数据库应用_华为云