powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Как удалить BLOB?
25 сообщений из 27, страница 1 из 2
Как удалить BLOB?
    #32446706
ils
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ils
Гость
У меня вот какой вопрос.
Как удалить содержимое BLOBa? Как я понимаю, если в таблице sometbl имеется блоб-поле BLOB_field, то "delete from sometbl" или
"alter... set BLOB_field=null ..." удаляет только ссылку. И при частых вставках/удалениях больших блобов размер файла базы очень быстро увеличивается.
Вообщем, как можно решить эту проблему или где можно об этом узнать?
Зараннее благодарен
...
Рейтинг: 0 / 0
Как удалить BLOB?
    #32446726
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор"alter... set BLOB_field=null ..." удаляет только ссылку.
Ась?
...
Рейтинг: 0 / 0
Как удалить BLOB?
    #32446731
srf2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
уменьшить размер базы можно только с помощью backup/restore
...
Рейтинг: 0 / 0
Как удалить BLOB?
    #32446737
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А нахрена?
...
Рейтинг: 0 / 0
Как удалить BLOB?
    #32446792
srf2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну если хочет человек
...
Рейтинг: 0 / 0
Как удалить BLOB?
    #32448951
ils
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ils
Гость
2 srf2000:
сенкс

2 Мимопроходящий:
Ну разумеется не "alter...", а "update..." - просто очепятка
...
Рейтинг: 0 / 0
Как удалить BLOB?
    #32449031
Andrew Kruchinin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну почему. Есть еще один вариант кажется:

1. Сделать таблицу BLOBS(ID INTEGER, DAT BLOB SUB_TYPE 0 SEGMENT SIZE 80)

2. В таблице куда подвязываются данные вместо поля BLOB занести ID из таблицы BLOBS

3. Вместо чистки основной таблицы просто удалять запись из таблицы BLOBS, ну потом при желании можно еще мусор собрать
...
Рейтинг: 0 / 0
Как удалить BLOB?
    #32449154
ils
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ils
Гость
2 Andrew Kruchinin

авторну потом при желании можно еще мусор собрать

А есть возможность динамически собирать мусор, не выполняя бекап?
...
Рейтинг: 0 / 0
Как удалить BLOB?
    #32449168
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мусор и так собирается автоматически . Если конечно, не предпринять некоторых дополнительных телодвижений, кои не рекомендуется проводить, без особой на то надобности.
...
Рейтинг: 0 / 0
Как удалить BLOB?
    #32449563
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И при частых вставках/удалениях больших блобов размер файла базы очень быстро увеличивается.

Вот помнится, такая же проблема с MEMO - полями в FoxPro была. Не было повторного использования освобожденного пространства. И с перестройкой .CDX - файлов аналогично. Пока не сотрешь его нафиг и повторно не построишь.

Тут нет такой траблы? (я BLOB - поля имею в виду)
...
Рейтинг: 0 / 0
Как удалить BLOB?
    #32449569
ils
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ils
Гость
Например, имеется файл базы с начальным размером 1 М. Я добавляю в таблицу два блоба по 5 М. Соответственно размер файла становится 11 М.
У удаляю эти два блоба. Потом опять добавляю один блоб размером 5 М. Размер файла становится 11+5=16 М. Можно ли записывать содержимое блобов на неиспользуемое место. Или это невозможно? И вообще, где можно взять информацию о том, как в интербейсе хранятся блобы.
...
Рейтинг: 0 / 0
Как удалить BLOB?
    #32449599
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, блин, заинтересовал. Сейчас проведу эксперимент.
...
Рейтинг: 0 / 0
Как удалить BLOB?
    #32449624
Фотография Johnmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>ils
>Размер файла становится 11+5=16 М.

"Это вряд ли" (с)
...
Рейтинг: 0 / 0
Как удалить BLOB?
    #32449705
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор>Размер файла становится 11+5=16 М.
"Это вряд ли" (с)
Легко!
Место на страничках будет достопно для повторного использования только после того, как по ним пройдётся GC. А способов "оттянуть" сборку мусора предостаточно...
...
Рейтинг: 0 / 0
Как удалить BLOB?
    #32449712
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проверил. Ты нас обманул.

Я записал 10 песенок в формате .MP3 - база стала размером 32,1 мегов.
Все стер. Записал еще 5 песенок по 3,5 мега - размер не изменился.

Хотя, конечно, возможно некоторое увеличение и-за задействования внутренних механизмов оптимизации (например, сегментирование свободного пространства).

Так что не надо лохматить бабушку.

Удачи.
...
Рейтинг: 0 / 0
Как удалить BLOB?
    #32449719
Фотография Johnmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Мимопроходящий

По-моему ты путаешься в авторстве постов...:)

...
Рейтинг: 0 / 0
Как удалить BLOB?
    #32449724
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А какая разница?
...
Рейтинг: 0 / 0
Как удалить BLOB?
    #32449753
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Интересно, поэкспериментировал со значением PageSize. Когда установил 4096 вместо 1024 - скорость записи/извлечения Blob - полей увеличилась в разы.

Интересно, как изменение SegmentSize повлияет?
...
Рейтинг: 0 / 0
Как удалить BLOB?
    #32449763
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Никак.
Разве что только в том случае, если используемая тобой библиотека доступа обращает на него внимание. Я таких не знаю.
...
Рейтинг: 0 / 0
Как удалить BLOB?
    #32449784
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А какое тогда значение SegmentSize устанавливать при проектировании?
...
Рейтинг: 0 / 0
Как удалить BLOB?
    #32449786
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Монопенисуально.
...
Рейтинг: 0 / 0
Как удалить BLOB?
    #32449808
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, попробовал, разницы действительно большой нет.

Может, имеет смысл учитывать при записи большого числа не очень больших массивов данных в целях, чтобы дисковое пространство не так сильно использовалось? (Типа, если размер массива соизмерим с размером сегмента, и размер массива переменный)
...
Рейтинг: 0 / 0
Как удалить BLOB?
    #32449825
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По умолчанию - 80 байт.
...
Рейтинг: 0 / 0
Как удалить BLOB?
    #32449955
Andrew Kruchinin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Как удалить BLOB?
    #32449962
Andrew Kruchinin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А вот тут по поводу чистки мосора после удаления есть инструкции.

Кстати, по поводу добавления третьего файла - в какой транзакции добавлял? В этой же?
...
Рейтинг: 0 / 0
25 сообщений из 27, страница 1 из 2
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Как удалить BLOB?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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