数仓调优实践丨SQL改写消除相关子查询

💡 原文中文,约4200字,阅读约需10分钟。
📝

内容提要

本文介绍了GaussDB(DWS)中的子查询和子链接的概念,以及相关和非相关子查询的区别。然后,通过一个案例展示了如何进行调优实战,包括子查询消除的改写策略。最后,给出了改写后的执行计划。

🎯

关键要点

  • GaussDB(DWS)中的子查询分为子查询和子链接两种形式。
  • 非相关子查询的执行不依赖于外层查询的属性值,具有独立性。
  • 相关子查询的执行依赖于外层查询的属性值,需要与外层查询一起求解。
  • 案例展示了一个相关子查询的执行计划。
  • 调优实战中,通过改写策略消除子查询与父查询的依赖关系。
  • 改写后的子查询独立,不再依赖父查询中的元素,执行计划有所改善。
🏷️

标签

➡️

继续阅读