MySQL 临时表在我们需要保存一些临时数据时是非常有用的。
临时表只在当前连接可见,当关闭连接时,MySQL 会自动删除表并释放所有空间。
在 MySQL 中,临时表是一种在当前会话中存在的表,它在会话结束时会自动被销毁。
with
vehicle_type_vehicle_usage_run_status_drop_anchor_ppm_table as (
select
vehicle_type, --
power_type, --
vehicle_usage, --
run_status, --
sale_month, --
drop_anchor_cnt, --
hold_cnt, --
drop_anchor_ppm, --
drop_anchor_target, --
drop_anchor_reward --
from ic_qms_ads.qms_ads_bi_dappm_vtvurs_sr --
where 1 = 1
and power_type <> ''
and vehicle_usage <> ''
and run_status <> ''
),
--- 合并表
union_table as (
select * from vehicle_type_drop_anchor_ppm_table --
union
select * from vehicle_type_run_status_drop_anchor_ppm_table --
union
select * from vehicle_type_vehicle_usage_drop_anchor_ppm_table --
union
select * from vehicle_type_vehicle_usage_run_status_drop_anchor_ppm_table --
)
临时表对于需要在某个会话中存储中间结果集或进行复杂查询时非常有用。MySQL 临时表 | 菜鸟教程
临时表的作用范围仅限于创建它的会话。其他会话无法直接访问或引用该临时表。在多个会话之间共享数据时,可以考虑使用普通表而不是临时表。
请注意,临时表在会话结束时会被自动删除,但也可以使用 DROP TEMPORARY TABLE 明确删除它,这样可以更早地释放资源。