数仓调优实践丨SQL改写消除相关子查询
💡
原文中文,约4200字,阅读约需10分钟。
📝
内容提要
本文介绍了GaussDB(DWS)中的子查询和子链接的概念,以及相关和非相关子查询的区别。然后,通过一个案例展示了如何进行调优实战,包括子查询消除的改写策略。最后,给出了改写后的执行计划。
🎯
关键要点
- GaussDB(DWS)中的子查询分为子查询和子链接两种形式。
- 非相关子查询的执行不依赖于外层查询的属性值,具有独立性。
- 相关子查询的执行依赖于外层查询的属性值,需要与外层查询一起求解。
- 案例展示了一个相关子查询的执行计划。
- 调优实战中,通过改写策略消除子查询与父查询的依赖关系。
- 改写后的子查询独立,不再依赖父查询中的元素,执行计划有所改善。
➡️