Опция транзакции 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»
Обсудить возможности СУБД и задать вопросы о продукте можно в нашем телеграм чате — присоединяйтесь к сообществу!