暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

连接条件下推

芬芳 2023-06-21
186

该功能通过将derived table外层的连接条件下推到derived table内部,使derived table内部的执行计划可以更加高效的利用索引,从而大幅的提升复杂查询的执行性能。

前提条件

集群版本需为PolarDB MySQL版8.0版本且修订版本需为8.0.2.2.10或以上。

适用场景

  • 在复杂查询中存在derived table和外层表的join,并且采用了nested loop join的方式。此外join列在derived table的内层,可以使用索引来加速对内层表的物化计算。同时需要有准确的统计信息支撑,确保下推后可以在内层过滤大量的数据。
  • 当内层查询在连接条件下推后,如果可以有效利用索引,并过滤掉大量数据,则可能产生更高效的执行计划。连接条件下推功能会依赖于优化器的代价计算能力,来智能选择是否下推外层连接条件。

使用方法

您可以通过loose_join_predicate_pushdown_opt_mode参数开启连接条件下推功能。取值范围如下:

  • ON:开启连接条件下推功能。
  • REPLICA_ON(默认值):仅在只读节点开启连接条件下推功能。
  • OFF:关闭连接条件下推功能。

相关文档

连接条件下推示例

最后修改时间:2023-06-21 12:01:00
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论