二つのテーブルがあります
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 を返します。それは本当に遅いです、何か提案はありますか?