Гость
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Подчистка мусора при обновлении BLOB / 6 сообщений из 6, страница 1 из 1
19.02.2021, 10:23
    #40047008
host.13
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подчистка мусора при обновлении BLOB
Добрый день!
Firebird 2.5.1
Есть таблица
Код: sql
1.
2.
3.
CREATE TABLE NEW_TABLE (
    FLD  BLOB SUB_TYPE 0 SEGMENT SIZE 80
);


При выполнении такого скрипта:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
execute block as
declare variable B blob;
declare variable i integer;
begin
    i = 0;
    while (i < 10000) do begin
        in AUTONOMOUS TRANSACTION do begin
            SELECT first 1 new_table.FLD from new_table into :b;
            B = b || 'w';
            update NEW_TABLE set fld = :b;
            i = i + 1;
        end
    end
end


видно, что размер базы растет очень быстро - до нескольких гигабайт и больше. После backup\restore опять ужимается до нескольких мегабайт.
Похоже, при обновлении BLOB выделяется новый BLOB, а старый так и продолжает занимать место. Как сделать, чтобы база не увеличивалась в размерах?
...
Рейтинг: 0 / 0
19.02.2021, 10:30
    #40047011
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подчистка мусора при обновлении BLOB
host.13
Firebird 2.5.1
Firebird 2.5.4 Sub-release
...
Рейтинг: 0 / 0
19.02.2021, 10:43
    #40047022
host.13
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подчистка мусора при обновлении BLOB
Basil A. Sidorov,

Спасибо, но не помогает, все равно растет.
...
Рейтинг: 0 / 0
19.02.2021, 10:54
    #40047028
hvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подчистка мусора при обновлении BLOB
host.13,

старые блобы удерживаются основной тр-цией.
После её завершения и старта новой тр-ции движок сможет их вычистить.
Чтобы БД не пухла от таких блобов, не нужно их создавать.
...
Рейтинг: 0 / 0
19.02.2021, 11:02
    #40047030
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подчистка мусора при обновлении BLOB
host.13,

ни как. Это место (со старыми блобами) может быть использовано повторно, после сборки мусора.
...
Рейтинг: 0 / 0
19.02.2021, 15:16
    #40047164
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подчистка мусора при обновлении BLOB
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Подчистка мусора при обновлении BLOB / 6 сообщений из 6, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]