We’re seeing unexpected performance issues in BigQuery when querying views across projects.
Context:
-
We’re querying a view in Project B from a model/table in Project A.
-
The view in Project B references a partitioned table and includes a date filter like event_date > TIMESTAMP_SUB(CURRENT_DATE(), INTERVAL 7 DAY).
Problem:
Despite filtering on event_date, BigQuery appears to scan the entire underlying table behind the view in Project B. The filter doesn’t seem to push down into the view’s execution plan.
When the view and consuming query are in the same project, partition pruning works as expected.
Is it expected that cross-project views break partition pruning/filter pushdown?
If so, is materializing the view (as a table) the only reliable workaround for performance?
Appreciate any insights — thanks!