powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / как ускорить MERGE
13 сообщений из 38, страница 2 из 2
как ускорить MERGE
    #39316365
Alexus12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей АрсеньевSYМожет я еще не проснулся, но вышесказанное есть нe что иное как:
К этому обсуждение и пришло. (Хотя в общем случае нет ибо truncate внетранзакционен, а значит будет момент времени, когда старое порушили, а нового так и не завезли. :))

возможно уменьшение времени между уничтожением (truncate) и завершением insert с использованием промежуточной таблицы - и swap partition между ней и целевой.

наши замеры говорят, что случаи:
а) расчет во временной табл - 30 мин, затем truncate и insert (append) в постоянную - еще 30 мин
б) расчет во временной (определенной как постоянная с секционированием как у целевой) - около 60 мин, затем truncate и swap partition (0 мин)
- почти равны по времени работы (оба около часа, разницы на уровне погрешности замера)

есть ли еще способы ускорения?
...
Рейтинг: 0 / 0
как ускорить MERGE
    #39316366
Сергей Арсеньев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexus12,

У Вас inser во временную идет тоже чехом? И при этом insert туда, а потом в постоянную быстрее?
Или просто insert во временную быстрее?

Если второе, то понятное дело - все ж таки журналирование операций оно не бесплатное. И ест ввод-вывод.
...
Рейтинг: 0 / 0
как ускорить MERGE
    #39316388
Сергей Арсеньев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexus12есть ли еще способы ускорения?
В зависимости от способа заполнения на стадии предварительных расчетов,
Может заработать nologging, а потом включить logging и swap partition.
Для примера. Если же обновления идут одинарными операциями, то возможно под миллионы добавляемых строк можно будет сменить tablespace на MSSM.
...
Рейтинг: 0 / 0
как ускорить MERGE
    #39316395
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей АрсеньевК этому обсуждение и пришло. (Хотя в общем случае нет ибо truncate внетранзакционен, а значит будет момент времени, когда старое порушили, а нового так и не завезли. :))

Ну это-то как раз просто. Партицированная тaблица (например по дням если процесс раз в дeнь). Каждая транзакция ссылающаяся на таблицу сохраняет дату начала транзакции - TRUNC(SYSDATE) и при обращeнии к таблице использует партиционный_ключ = датa_начала_транзакции. Ну и создаем drop old partition по расписанию.

SY.
...
Рейтинг: 0 / 0
как ускорить MERGE
    #39316403
Сергей Арсеньев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SY,

swap не проще drop?
...
Рейтинг: 0 / 0
как ускорить MERGE
    #39316411
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SYНу это-то как раз просто.

Упс, забыл упомянуть - у меня данные на завтра грузятся сегодня, посeму TRUNC(SYSDATE). Если по-принципу смотреть данные последней загрузки, то нужно хранить дату загрузки в базе и при обращeнии к таблице использoвaть партиционный_ключ = (SELECT MAX(дата_загрузки) FROM таблица_загрузки).

SY.
...
Рейтинг: 0 / 0
как ускорить MERGE
    #39316417
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей АрсеньевSY,

swap не проще drop?

В общем случае swap не катит - транзакция начавшаяся до последней загрузки должна продолжать их использовать.

SY.
...
Рейтинг: 0 / 0
как ускорить MERGE
    #39316456
Сергей Арсеньев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SYВ общем слуае swap не катит - транзакция начавшаяся до последней загрузки должна продолжать их использовать.
Согласен. Но тогда, по хорошему, еще нужно следить за самой долгой транзакцией, а до техз пор ничего не дропать. :)
...
Рейтинг: 0 / 0
как ускорить MERGE
    #39316854
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей АрсеньевНо тогда, по хорошему, еще нужно следить за самой долгой транзакцией, а до техз пор ничего не дропать. :)

Ну если транзакции долгоиграют сутками то проблема скорее всего куда глубже .

SY.
...
Рейтинг: 0 / 0
как ускорить MERGE
    #39393643
ссу
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подниму старую тему, нежели создавать новую.

Delete из партиции, insert 500 тыс. строк
В во время данной операции log file switch начинает пожирать CPU, и иногда это приводит к тормозам в работе пользователей.

Если я правильно гуглю, это запись в архивлоги.

В поисках решения, подумал о nologging на таблицу и insert append.
Но волнует вопрос: влияет ли nologging и insert append на восстановление данных из бэкапа.
Если вдруг понадобится восстановить базу из бжкапа, кроме потери данных в таблице, есть еще какие-то нюансы о которых следуте знать?
Бэкап полный раз в неделю, а подобную операцию приходится раз в сутки делать.

Сокращу: Хочу перейти на truncate, insert append, rebuid index и не логгировать, так как при потере данных можно будет их заново рассчитать за разумное время. Есть ли угроза другим данным при восстановлении ( у Бурлесона прочел что-то страшное и подозрение закралось)? Лучше ли будет перенести в отдельный tablespace такие таблицы?
...
Рейтинг: 0 / 0
как ускорить MERGE
    #39393648
paradox_addict2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nata44845,
А зафиксировать статистику для этих темп таблиц не пробовали?
...
Рейтинг: 0 / 0
как ускорить MERGE
    #39393649
paradox_addict2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ссу,
1. Делайте бэкап после ваших манипуляций, например.

Возможно, ваш ДБА подозревает, что вы хотите сделать и предусмотрительно включил режим FORCE LOGGING;
...
Рейтинг: 0 / 0
как ускорить MERGE
    #39394456
Сергей Арсеньев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ссуDelete из партиции, insert 500 тыс. строк
В во время данной операции log file switch начинает пожирать CPU, и иногда это приводит к тормозам в работе пользователей.

Если я правильно гуглю, это запись в архивлоги.
Если Вы правильно гуглите и у Вас долго ждут при переключении активного журнала из-за того, что цепочка замкнулась, а перелететь в архив не успевает. То в ервую очередь стоит подумать над увеличением скорости или удлинением цепочки, чтоб ее хватало на пиковую нагрузку с запасом, а потом она медленно рассасывалась.
И IMHO только после того, как это не поможет, над вариантом который увеличит время и трудоемкость восстановления после сбоя.
...
Рейтинг: 0 / 0
13 сообщений из 38, страница 2 из 2
Форумы / Oracle [игнор отключен] [закрыт для гостей] / как ускорить MERGE
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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