3 ms·
Both SQL and Linq-style queries end up in the same in-memory representation once they hit the query engine/query planner. Filter pushdown ("correct application
by hobofan 1y ago
Both SQL and Linq-style queries end up in the same in-memory representation once they hit the query engine/query planner.
Filter pushdown ("correct application of where, and hope it puts the where before the join") is table stakes for a query planner and has been for decades.
And no, Iceberg tables are not special in any way here. Iceberg tables contain data statistics, just like the ones described in the article to make the optimizer choose the right query plan.
- Sesse__ 1y agoFilter pushdown is surprisingly subtle, when you start getting into issues of non-inner joins and multiple equalities. I had no idea until I had to implement it myself. (It's also not always optimal, although I don't offhand know of any optimizer that understands the relevant edge cases.)