限制 Snowflake CTE 中的列数是否会提高 VIEW 的性能

Does limiting the number of columns in Snowflake CTE improve the performance of a VIEW

我有一个雪花 VIEW 定义如下:

create order_amount_by_order_type_view as (
with temp_table as (
select * FROM orders inner join order_lines on orders.order_no=order_lines.order_no)
select order_type, sum(amount)
from temp_table
group by orders.order_type
)

请注意,我选择了 CTE 中的所有字段,即使主查询中不需要它们。

问题:Snowflake 是否足够聪明,可以识别出主要使用 order_typeamount 并相应地优化 CTE?

或者我应该手动限制 CTE 中的必填字段?

create order_amount_by_order_type_view as (
with temp_table as (
select orders.order_type, order_lines.amount FROM orders inner join order_lines on orders.order_no=order_lines.order_no)
select order_type, sum(amount)
from temp_table
group by orders.order_type
)

应该足够聪明,测试将是:

select * from table_name 看看读取了多少字节,然后 select col1,col2 from table_name 并查看读取了多少字节。

然后查看查询中 CTE 的 table 读数,看看它是否较小。