Удаление строк в базе данных — очень затратная процедура, если вы хотите удалить их много.
Я попытался запустить пакетное удаление с помощью CHECKPOINT на 50000 строк (занимает 3-10 секунд) в таблице с 20 миллионами строк, удалив примерно половину из них, пока таблица используется. Пока он делал свою работу, он замедлял доступ к базе данных до обхода, вся система перестала своевременно реагировать.
Что я могу сделать, периодически удаляя старый хлам, не слишком замедляя работу системы?
Упомянутая таблица имеет очень длинные строки (сотни столбцов), упорядоченные по времени (самые новые обновляются/вставляются), мы часто выбираем самые новые, но удаляем самые старые.
select into newtable required records
и удалить старую таблицу - person TheGameiswar   schedule 24.08.2016