Опция транзакции AUTO RELEASE TEMP BLOBID: оптимизация массовых вставок записей с BLOB

March 24, 2025

В декабрьском обновлении РЕД Базы Данных 5.0 - 5.0.1 и Firebird 5.0.2 появилась новая опция, вызвавшая интерес у активных пользователей продукта. Рассказываем, чем примечательна AUTO RELEASE TEMP BLOBID и для чего её можно применить.

Зачем?

Временные идентификаторы BLOB используются для того, чтобы иметь возможность обратиться к ним позже в рамках осуществляемой транзакции. При вставке большого количества временных BLOB потребуется много памяти для их хранения. Если обращений к временным BLOB не предполагается, то хранение их идентификаторов становится бессмысленным.

Что делает опция?

Опция AUTO RELEASE TEMP BLOBID позволяет освобождать временные идентификаторы BLOB, если известно, что в текущей транзакции обращение к BLOB через эти идентификаторы выполняться не будет.

Как работает?

  • При выполнении рестора базы данных опция включается автоматически.
  • Опцию можно включить для пользовательской транзакции, если в ней планируется делать вставку большого числа записей с BLOB.

Эффект применения

  • Значительная экономия ресурсов, особенно при вставке большого объема данных.
  • Возможность ресторить большие по размеру базы данных на серверах с ограниченным объемом оперативной памяти.

Обратите внимание

Опцию AUTO RELEASE TEMP BLOBID следует использовать с осторожностью и только в том случае, если нет необходимости обращаться к материализованному BLOB через временный идентификатор.

Полезные материалы для тех, кто хочет узнать больше: РЕД База Данных, «Руководство по SQL»

Обсудить возможности СУБД и задать вопросы о продукте можно в нашем телеграм чате — присоединяйтесь к сообществу!