BigQuery joining time-unit column-partitioned tables

Viewed 133

This question is similar to this one, however concerning time-unit column-partitioned tables instead of ingestion-time partitioned tables (hence there is no _PARTITIONTIME pseudo-column).

Consider two tables A and B, each with a date column used for daily partitioning.

These tables are joined using a full outer join, as follows:

SELECT
    date,
    A.date AS A_date,
    B.date AS B_date,
FROM A FULL OUTER JOIN B USING(date)

Filtering this table using WHERE A_date = '2021-01-01' will process 20.6MB

Filtering this table using WHERE B_date = '2021-01-01' will process 10.9MB

Filtering this table using WHERE date = '2021-01-01' will process 31.5MB

Filtering this table using WHERE A_date = '2021-01-01' AND B_date = '2021-01-01' will process only 65.6KB

I would expect that using date would also process only 65.6KB, however it seems like the time-partitioning is simply ignored. Is this intentional behavior, or is there any way to remedy this?

0 Answers
Related