Как эффективно удалить все строки из таблицы в DB2

У меня есть таблица, которая имеет что-то вроде полумиллиона строк, и я хотел бы удалить все строки.

Если я сделаю простой delete from tbl журнал транзакций заполняется. Меня не волнуют транзакции в этом случае, я не хочу отката в любом случае. Я мог бы удалить строки во многих транзакциях, но есть ли лучшие способы для этого?

Как эффективно удалить все строки из таблицы в DB2? Могу ли я каким-то образом отключить транзакции для этой команды или есть специальные команды чтобы сделать это (как усечь в MySQL)?

после удаления строк я снова заполню базу данных аналогичным количеством новых данных.

2 ответов


Кажется, что следующая команда работает в более новых версиях DB2.

TRUNCATE TABLE someschema.sometable IMMEDIATE  

чтобы усечь таблицу в DB2, просто напишите:

alter table schema.table_name activate not logged initially with empty table

из того, что я смог прочитать, это удалит содержимое таблицы без какого-либо ведения журнала, который будет намного проще на вашем сервере ввода-вывода