这是一个简单的选择查询:
SELECT *
from (select * from ods_rfx_prod where dt = '2017-06-07') p
left join (select * from ods_rfx_prod_ext where dt = '2017-06-07') pt
on p.prod_id = pt.prod_id
两个表(ods_rfx_prod,ods_rfx_prod_ext)全部由'dt'分区并存储为RCFile。
表p包含3000w列,表pt包含3500w列。
p.prod_id
和pt.prod_id
没有空和空白记录。
答案 0 :(得分:0)
您可以尝试许多不同的组合来检查性能是否会提高。
1)当你有where条件时,检查列是否已编入索引
2)由于它是日期列,您可以在其上创建分区
3)当您加入productID时,您可以尝试对productID上的数据进行排序,然后应用联接
4)您还可以尝试通过散列productID来创建存储桶,以便查询可以利用地图侧连接