In BQ, if we are querying from the view z
which is say for example select * from x join y
and we want to do:
select a from z where <where_clause>
and
select b from z where <where_clause_2>
Will the results of the view z
be cached?
i.e. Under the hood,
Is it
select a from z where <where_clause>
= select a from x join y where <where_clause>
(where x join y is cached for the next query)
and
select b from z
= select b from z' where <where_clause_2>
(where z' is cached z) [NOTE]
OR
will it be
select a from z
= select a from x join y where where_clause_2
and
select b from z
= select b from x join y where where_clause_2
As mentioned in the documentation, the cache applies with the exact same request.
Here, you reuse a part of a request and the cache does not apply on the part of request.