You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Predicate pullup typical purpose is to move more expensive operations further back in the processing queue so they have fewer rows and columns on which to operate after other query rewrites have been done.
feel free to cook up a PR if you have implementation ideas, we definitely want to do all sorts of useful optimizations (of which there currently are not many).
I'm trying to implement it, but I must admit that Sqlite's planner is different from most DBs I've come across, and it's difficult to implement optimizer rules in an elegant way. I think the biggest difficulty is that SQLite's plan is not like a tree, but more like a very bloated node filled with various fields to determine the operator type. In other words, non-volcano style.
Predicate pullup typical purpose is to move more expensive operations further back in the processing queue so they have fewer rows and columns on which to operate after other query rewrites have been done.
This is very useful in many cases, and the details are well described in duckdb and teradata.
Duckdb Optimizer Blog
Teradata Predicate Pushdown and Pullup
The text was updated successfully, but these errors were encountered: