Удаление таблицы занимает слишком много времени - PullRequest
0 голосов
/ 09 апреля 2019

Я пытаюсь удалить большую таблицу (размер 11 ГБ).

Таблица настолько велика из-за ошибки в приложении, которое пишет таблицу.Эта таблица является своего рода специальным журналом изменений базы данных, в котором по ошибке также регистрируются обновления полей BLOB-объектов (в некоторых случаях DATALENGTH(OneSpecificField) может превышать 140 МБ для одной записи, тогда как ожидаемый максимальный размер должен был составлять 2 КБ.).

Я попытался удалить таблицу, запустив

DELETE CUSTOM_LOG
GO

Выполнение занимает более 10 минут, поскольку это рабочая БД, я не люблю ждать вечно (даже если пользователине возникает значительных проблем, так как ведение журнала теперь отключено).

Если никто не обращается к таблице, почему это занимает так много времени?

1 Ответ

3 голосов
/ 09 апреля 2019

Если на таблицу не ссылается FK, вы можете использовать TRUNCATE TABLE CUSTOM_LOG, она должна работать намного быстрее

...