powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Тормоза при join-е нескольких таблиц чероз DBlink
4 сообщений из 54, страница 3 из 3
Тормоза при join-е нескольких таблиц чероз DBlink
    #39400883
Фотография barrabas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вячеслав ЛюбомудровPS. По-последнему запросу ТС очень похоже, что он нас либо троллит, либо что-то слишком скрывает (where 1=1 and t.DATA = sysdate and t.DATA = sysdate - 1)

нет, не тролю, все планы запросов реальны и тексты
последний же вопрос касался, не булкколлекта, а изменения плана при действии со столбцами. я взял запросы из процедуры, подставил вместо биндинга переменноых sysdate, получил план запроса с + t.VREMYA/86400 и без.

1=1 - пишу часто когда отлаживанию, чтобы удобнее было закомментировать первое условие и не убирать анд у второго, часто на автомате добавляю уже. на план не влияет, проверил.
t.DATA = sysdate and t.DATA = sysdate - 1 т.к. проверял сам запрос на время выполнения по дню, топом построил по нему план и планы честно выложил.
...
Рейтинг: 0 / 0
Тормоза при join-е нескольких таблиц чероз DBlink
    #39400889
Фотография barrabas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот то что при bulk collect оптимизатор может применять всегда план удобный для ALL_ROWS - согласен.
но не понятно почему
for c in (select ) - работает с "правильным" планом (с первой страницы),
open c for 'select'; или open CURSOR; fetch - работает с "плохим" планом. я не понимаю
...
Рейтинг: 0 / 0
Тормоза при join-е нескольких таблиц чероз DBlink
    #39400894
Фотография barrabas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
barrabasвот то что при bulk collect оптимизатор может применять всегда план удобный для ALL_ROWS - согласен.
но не понятно почему
for c in (select ) - работает с "правильным" планом (с первой страницы),
open c for 'select'; или open CURSOR; fetch - работает с "плохим" планом. я не понимаю
а главное как выяснить какую конструкцию применять для получения правильного плана, я не понял.
мне же в упрек ставили что я попробовал все варианты, а можно было как-то сразу догадаться видимо
...
Рейтинг: 0 / 0
Тормоза при join-е нескольких таблиц чероз DBlink
    #39400911
Фотография barrabas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
но реально ребята помогли.
я переписал древние загрузки (которые лет 10 никто не трогал, но за это время объем данных вырос на пару порядков) с динамического execute immediate 'insert into BUF select ...' на динамеческий open c for 'select '; fetch bulk collect + forall insert

если на 500-700тыс.записей вставка в буфер была по 35-40 минут, теперь 3-4 минуты.
...
Рейтинг: 0 / 0
4 сообщений из 54, страница 3 из 3
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Тормоза при join-е нескольких таблиц чероз DBlink
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]