有两张桌子
t1 { id, name, ...}
t2 { t1_id , date_time, parameter, value, ...}
t1 和 t2 是 oracle 分区表。t2 很大。
我想获取与 t2 的时间范围匹配的 t1 :
select id, name, ... from t1 partition(t1_partition_name)
where t1.id in( select distinct t1_id from t2 partition(t2_partition_name)
where date_time > to_date('20120627 00','YYYYMMDD HH24')
and date_time <to_date('20120627 12','YYYYMMDD HH24')
)
子查询将返回大约 10K t1_id。它真的很慢,有什么建议吗?