Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

DB2 EXPRESS Очистка таблицы

22K
08 апреля 2007 года
Hektor
10 / / 30.03.2007
Проблемма может быть самая смешная для сервера такого уровня, но она есть.:(
В MySQL есть команда TRUNCATE TABLE, сбрасывающая (очищающая) таблицу. К сожалению в DB2 v9 подобной вещи мы не нашли.
Естественно нет смысла очищать таблицу построчным удалением данных, так как значение генератора автоинкремента не сбрасывается при этом.
Хотелось бы услышать, что могут предложить мне люди, встречавшиеся с DB2.
Спасибо.:)
263
09 апреля 2007 года
koltaviy
816 / / 16.12.2004
С DB2 не встречался, но все-таки..
Какая тебе разнцица сбрасывается ли поле счетчика при этом или нет - ты же его используешь(если вообще используешь) для идентификации строк, как ключевое. И какая разница откуда у тебя начнется 'инкрементирование'..
Если у тебя к данным этой таблицы привязаны данные из других таблиц, то по требованиям целостности данных те таблицы ты также должен очистить..

Очищать таблицу не нужно с помощью перебора строк. Достаточно выполнить следующий запрос:
 
Код:
DELETE * FROM YourTable
22K
09 апреля 2007 года
Hektor
10 / / 30.03.2007
К сожалению разница для проекта есть, если идет связка с данным полем.
 
Код:
DELETE * FROM YourTable
впрочем для таблицы с сотнями тысяч строк работает слишком медленно. запрос в любом случае удаляет всё построчно, делая при этом записи в журнал об удалении каждой строки.
 
Код:
TRUNCATE TABLE

Делает запись только лишь об очистке таблица. И чистит всё и незамедлительно. Есть смысл призадуматься, хочешь вешать сервер, или нет.
22K
10 апреля 2007 года
Hektor
10 / / 30.03.2007
Решение
 
Код:
ALTER TABLE NOT LOGGED INITIALY WITH EMPTY TABLE
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог