Для таблицы такого размера вы захотите найти эффективную стратегию разделения / разбиения. Архивирование в этом смысле имеет тенденцию быть формой разделения, но не очень хорошей, так как вам все равно часто приходится запрашивать текущее и архивировать. В худшем случае вы получаете SELECT по объединению архива и текущих таблиц, что хуже, чем если бы вы их вообще не разделяли.
Вы часто добьетесь большего успеха, найдя другие способы нарезки данных, например, по типу записи или чему-то еще. Но если вы собираетесь разделить его по дате, убедитесь, что вы не будете запрашивать архив + текущий набор данных.
Кроме того, SQL Server 2005+ по умолчанию не включает MVCC. Однако он может сделать это, если вы включите то, что MS называет изоляцией моментального снимка. См. Сериализуемый и Уровень изоляции моментального снимка .
Эффект , а не , если этот параметр включен, заключается в том, что незафиксированный INSERT или UPDATE блокирует SELECT в другой транзакции до тех пор, пока первая транзакция не завершится или не откатится. Это может вызвать ненужные блокировки и ограничить вашу масштабируемость.