Показать сообщение отдельно
Старый 11.03.2021, 00:19   #5  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Blog bot Посмотреть сообщение
Describes a custom framework for performing a periodic database cleanup
т.е. для periodic cleanup лучше удалять понемножку из самой аксапты со всеми delete action, validate и прочими бизнес-проверками (для надежности). скорость удаления ограничена не скокростью языка, а объемами дисков и памяти на SQL.

но есть случай, когда процедуру действительно приходится писать на T-SQL.
это ВНЕЗАПНЫЙ cleanup.
это когда "не было никогда и вот опять" база выросла и ВНЕЗАПНО заполнила ВСЁ.
в этом случае, нужно сохранить 1-5% от всех записей в логах, а остальное грохнуть как можно скорее.

в этом случае стоит попросить технологическое окно в несколько часов,
сделать stop world,
перевести базу в монопольный режим и (возможно) в Simple model.

Далее SQL-скриптами:
* перенести нужный 1-5% записей в stage таблицы,
* сделать truncate table (не задействует transaction log)
* перенести нужные записи из stage обратно в рабочие.

затем вернуть базу из монополного режима в нормальный.
__________________
полезное на axForum, github, vk, coub.