Skip to content

push down predicate

David Liu edited this page Aug 12, 2025 · 1 revision

谓词下推

将尽可能多的判断更贴近数据源,以使查询时能跳过无关的数据,显著地减少数据传输或计算的开销。

同样的理念发生在软件架构设计上,例如将数据计算和准备工作尽可能交予数据库(如UDF)以及后端完成,进而减少前端或中间件层面定制开发的数据计算工作

SQL场景

  • 在SQL优化上来说,将查询语句中的过滤表达式计算(filtering)尽可能下推到距离数据源最近的地方,以尽早完成数据的过滤, 再做聚合等操作。
  • 在SQL中,谓词就是返回boolean值即true和false的函数,或是隐式转换为bool的函数。
    • SQL中的谓词主要有 LIKE、BETWEEN、IS NULL、IS NOT NULL、IN、EXISTS

黄色为下推型架构

Ref

If a predicate cannot be pushed down, the query executed on the remote database engine excludes that predicate, so filtering has to be done using Databricks Runtime.

https://docs.pingcap.com/zh/tidb/dev/predicate-push-down

Clone this wiki locally