Kmich
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Есть такой запрос SELECT x1.*,pr1.* FROM (select id, name, price from table1 union select id, name, price from table2) X1, (select id, kod, price from table3) PR1 where x1.id=pr1.id(+) and x1.price=pr1.price(+) order by 3,4 этот запрос выполняется за 13 секунд и выбирает около 1200 строк. подзапрос x1 выполняется за 1.5 сек и подзапрос pr1 за 0,05 сек. Вопрос: от чего время выполнения всего запроса 13 секунд? Если не ошибаюсь Oracle делает выборку pr1, затем делает выборку pr1 и в памяти проводит соединение. Може т кто подскажет чего можно попробывать, мне кажется что что-то с параметрами в базе. |