Как эффективно удалить все строки из таблицы в DB2 - PullRequest
10 голосов
/ 01 сентября 2010

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

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

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

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

Ответы [ 2 ]

15 голосов
/ 01 сентября 2010

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

TRUNCATE TABLE someschema.sometable IMMEDIATE  
7 голосов
/ 01 сентября 2010

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...