Самым простым способом, конечно, было бы вставить строки из онлайн-таблицы в таблицу истории, а затем выполнить удаление. Завершение этого в SPROC, как предполагает Кассной, было бы идеальным.
Еще один потенциально лучший способ - воспользоваться разбиением . Если ваши таблицы разбиты по дате, вы сможете ускорить хотя бы УДАЛИТЬ части, просто отбросив соответствующий раздел. Часть INSERT также может быть быстрее, поскольку все вставленные строки будут взяты из одного раздела (если вы правильно создаете свои разделы).
Если схемы одинаковые, может даже существовать какая-то хитрость, которая позволит вам просто перемещать разделы из одной таблицы в другую относительно мгновенно.