Лучше ли Truncate and Drop, чем просто Drop для большой таблицы в sybase

Я использую базу данных Sybase и имею огромную таблицу ~ 300G и хочу просто избавиться от нее. Попытался удалить таблицу, но команда выполнялась более 16 часов, и ее пришлось убить из-за заполнения журналов. Как лучше всего это сделать? Поможет ли усечение таблицы перед удалением?


person p.m.    schedule 04.02.2015    source источник
comment
Это часть подписки?   -  person Raj More    schedule 05.02.2015
comment
что вы имеете в виду под подпиской?   -  person p.m.    schedule 05.02.2015
comment
Подписки используются, когда таблица является частью системы репликации. Это может привести к регистрации некоторых обычно незарегистрированных транзакций.   -  person Michael Gardner    schedule 05.02.2015


Ответы (1)


'DROP TABLE' НЕ должен создавать журналы. Я бы проверил, не обращается ли другое соединение к таблице, тем самым предотвратив ее удаление.

TRUNCATE — это очень быстрый способ (по сравнению с DELETE) удаления больших объемов данных, и я использовал его в корпоративных настройках для гигантских таблиц, которые нам больше не нужны. Это намного быстрее, чем DELETE, так как не регистрирует удаления. Однако просто убедитесь, что у вас есть соответствующие разрешения. Это часто не работает в производственных средах из-за ограничений разрешений.

Подробнее о DROP читайте здесь: http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.infocenter.dc36272.1572/html/commands/X58548.htm

person sandrasaur    schedule 05.02.2015
comment
Спасибо, Сандра, насколько я понимаю, и Drop, и truncate ведут минимальное ведение журнала и, следовательно, лучше, чем удалить. Однако я не нашел причин полагать, что все, что работает с Drop, будет работать с Truncate, поскольку в обоих случаях ведение журнала минимально. - person p.m.; 05.02.2015
comment
Правильный. Вот почему я предположил, что может быть другое соединение, обращающееся к таблице. Как я упоминал во втором абзаце, TRUNCATE работает быстрее, чем DELETE (не DROP). Извините, если было непонятно! - person sandrasaur; 09.02.2015