есть две таблицыSQL пола присоединиться к оптимизации
t1 { id, name, ...}
t2 { t1_id , date_time, parameter, value, ...}
t1 и t2 оракул распределял таблицы. t2 велико.
я хочу принести t1, который соответствует интервал времени от t2:
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. действительно медленно, любое предложение?
Какая у вас схема разделов на обеих таблицах и у вас есть какой-либо индекс (глобальный/локальный)? Каков объем данных (мощность, размер строк)? –
Удалить «отличную». Он использует хеш для соединения? Можете ли вы опубликовать план выполнения? –
Планы исполнения были бы полезны –