Здравствуйте, Wit, Вы писали:
Wit>Здравствуйте! Можно ли ускорить выполнение такого запроса:
Wit>Wit>select f1,f2,(select p1 from t1 where p2 = table1.f3) as f3 from table1@db1
Wit>
Wit>т/е по некоторым полям из таблицы table1 с базы db1 подставляем значения таблицы t1 текущей БД
Wit>запрос select f1,f2,f3 from table1@db1 выполняется пару секунд, а тот что выше раз в 100 дольше. t1 проиндексирована
Можно попробовать переписать его по-нормальному, чтобы дать шанс оптимизатору Оракла
select dt.f1, dt.f2, t1.p1
from table1@db1 dt
join t1 on t1.p2 = dt.f3
Если не поможет, можно попробовать вариант с materialized view.
1. Делаем
create materialized view table1_db1 as select * from table1@db1
2. Далее работаем с ней как с обычной таблицей, не забывая делать refresh когда нужны свежие данные
На самом деле, это очень приблизительное описание идеи, реализация сильно зависит от существующей ситуации и требований