powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / вопрос по ACTIVATE NOT LOGGED INITIALLY
2 сообщений из 2, страница 1 из 1
вопрос по ACTIVATE NOT LOGGED INITIALLY
    #35045070
GolemXIV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Необходимо удаление части данных из большой таблицы (миллионы записей из сотен миллионов, выборка по диапазону primaryKey).

Подскажите пожалуйста, по идее использование
ALTER TABLE table_name ACTIVATE NOT LOGGED INITIALLY
должно ускорить выполнение некоторых операций за счет отсутствия логгирования, что, впрочем, чревато приведением таблицы в нерабочее состояние.

Это реальное ускорение или можно не заморачиваться? По смыслу описания выигрыш в скорости должен быть огромным.

В описании операции указано "At the completion of the current unit of work, the NOT LOGGED INITIALLY attribute is deactivated and all operations that are done on the table in subsequent units of work are logged."

Что для DB2 является "unit of work"? Нет никакого эффекта ни при последовательном выполнении действий ни для connection, ни для statement, ни для транзакции. Куда глубже то?
...
Рейтинг: 0 / 0
вопрос по ACTIVATE NOT LOGGED INITIALLY
    #35050459
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
unit of work - транзакция.
выигрыш в скорости может и не быть огромным, но вы обойдете проблему переполнения журнала транзакции или необходимость делать его очень большим.
Перевод этой цитаты из доки следующий:
После завершения текущей транзакции (т.е. той, в которой было alter table ... activate not logged initially и операции изменения данных этой таблицы), атрибут NOT LOGGED INITIALLY деактивируется и все операции над таблицей, сделанные в ПОСЛЕДУЮЩИХ транзакциях, логируются.
т.е.:
Код: plaintext
1.
2.
3.
4.
-- autocommit off
alter table t1 activate not logged initially;
delete from t1 where ...; --- <- this operation IS NOT logged
commit;
delete from t1 where ...; --- <- this operation IS logged
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / вопрос по ACTIVATE NOT LOGGED INITIALLY
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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