数仓实践丨表扫描时过滤行数过多引起的性能瓶颈问题

💡 原文中文,约3100字,阅读约需8分钟。
📝

内容提要

本文介绍了一种GaussDB(DWS)性能调优的案例,通过调整局部聚簇键PCK和改写where条件中的in语句,解决了表扫描时过滤行数过多引起的性能瓶颈问题,最终将SQL语句的执行时间减少为487ms。

🎯

关键要点

  • 本文介绍了GaussDB(DWS)性能调优的案例。
  • 问题描述:对12亿数据量的大表进行扫描,过滤99%的数据,性能瓶颈在于表扫描。
  • 原始SQL语句复杂,包含多个过滤条件。
  • 性能分析显示,局部聚簇键PCK未包含所有过滤条件,导致扫描效率低下。
  • 局部聚簇键PCK可以通过多列指定,但一般不建议超过2列。
  • where条件中的in语句值过多,导致性能问题,可以用or改写以优化查询。
  • 经过调整后,SQL语句执行时间减少至487ms。
➡️

继续阅读