TopN算子下推过join的情况疑问

【 TiDB 使用环境】
测试环境v4.0.13
【问题】 当前遇到的问题
在看到TopN下推过join时对这句话不理解?下推过join的意思是在join之前就排序后过滤得到需要的条数,然后再与内表join吗?感觉不好理解
相关文档链接:https://docs.pingcap.com/zh/tidb/v4.0/topn-limit-push-down#示例-2topn-下推过-join-的情况排序规则仅依赖于外表中的列

1 个赞

主要看图中的执行计划,
实际上两张表都做了全表扫描,一个是读了全部,另一个是做了 TOPN

因为有左连接,最后只取了10条记录

感谢大佬回复,这个执行计划我大体上能看懂,我主要是对“过”这个词不是很理解,这个“过”的意思是啥?

topN 的算法,有2种场景:

  1. 把所有节点相关的数据都聚合起来,在 topN (这种最浪费资源)
  2. 就目前这种,通过连接关系,只聚合部分的数据

可能还有其他的场景,你可以结合起来看,这个“过”就是针对 第一种场景的

1 个赞

好哒,我再研究一下,感谢感谢~

1 个赞

此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。