Минимизация роста предварительного журнала транзакций в БД - PullRequest
0 голосов
/ 03 ноября 2018

У меня есть приложение, которое загружает данные из CSV-файла в таблицу предварительной подготовки, а затем выполняет некоторые операции с ней, вызывая некоторые SP, прежде чем перейти к подготовке:

  • Данные усекаются перед выполнением вставок
  • Я использую простой режим восстановления, поскольку восстановление данных на данном этапе не имеет значения
  • Весь процесс выполняется ежедневно
  • Перед переходом в Staging используются два SP: один, который массово вставляется в таблицу, и другой, который удаляет кавычки.

Проблема в том, что файл csv обычно содержит около 1,5 миллионов строк. Таким образом, это означает, что он усекает таблицу с 1,5 миллионами строк, используя truncate table, а затем делает кавычки удаление строк за строкой. Я очевидно убежден, что эти два вносят вклад в размер журнала транзакций. Я исследовал способы удаления кавычек в нашем бэкэнде вместо использования SP для этого, так что, надеюсь, это поможет минимизировать рост. Тем не менее, что я мог сделать с нашей БД, которую я еще не сделал, чтобы журнал не увеличивался с течением времени?

1 Ответ

0 голосов
/ 03 ноября 2018

Возможно, вы захотите использовать для этого In-Memory OLTP . Вы можете создавать таблицы с SCHEMA_ONLY долговечностью. Долговечность SCHEMA_ONLY позволяет избежать как регистрации транзакций, так и контрольной точки, что может значительно сократить операции ввода-вывода, и журнал транзакций не будет расти.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...