数据仓库服务 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节点监控
- 数据仓库的功能_数据工坊软件方案_数据分析处理平台
- GAUSS(DWS)工具_gsql工具_DataStudio工具_DSC工具
- GaussDB(DWS)服务_什么是IoT数仓_如何使用IoT数仓
- GaussDB应用场景_GaussDB数据库应用场景_高斯数据库应用_华为云